دوستان و علاقمندان به مباحث WPF وقتتون بخیر. با آموزش WPF از وب سایت آموزشی پی وی لرن همراهتون هستیم. Command Line چیست؟ در این بخش با موضوع Command Line یا خط فرمان در WPF همراه خواهیم بود.
آرگومان های خط فرمان مکانیزمی است که در آن کاربر می تواند مجموعه ای از پارامترها یا مقادیر را هنگام اجرای برنامه به یک برنامه WPF منتقل کند. این آرگومان ها برای کنترل یک برنامه از خارج بسیار مهم هستند ، به عنوان مثال ، اگر می خواهید یک سند Word را از طریق خط فرمان باز کنید ، می توانید از این دستور “C:\> start winword word1.docx” استفاده کرده و word1.docx را باز کنید.
آرگومان های خط فرمان در تابع Startup مدیریت می شوند. در زیر مثال ساده ای وجود دارد که نحوه انتقال آرگومان های خط فرمان را به برنامه WPF نشان می دهد. بیایید یک برنامه WPF جدید با نام WPFCommandLine ایجاد کنیم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <Window x:Class = "WPFCommandLine.MainWindow" xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d = "http://schemas.microsoft.com/expression/blend/2008" xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local = "clr-namespace:WPFCommandLine" mc:Ignorable = "d" Title = "MainWindow" Height = "350" Width = "525"> <Grid> <TextBox x:Name = "textBox" HorizontalAlignment = "Left" Height = "180" Margin = "100" TextWrapping = "Wrap" VerticalAlignment = "Top" Width = "300"/> </Grid> </Window> |
اکنون همانند تصویر زیر رویداد Startup را در فایل App.xaml مشترک کنید.
1 2 3 4 5 6 7 8 9 10 11 | <Application x:Class = "WPFCommandLine.App" xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local = "clr-namespace:WPFCommandLine" StartupUri = "MainWindow.xaml" Startup = "app_Startup"> <Application.Resources> </Application.Resources> </Application> |
در زیر آمده است: اجرای رویداد app_Startup در App.xaml.cs که آرگومان های خط فرمان را دریافت می کند.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | using System.Windows; namespace WPFCommandLine { /// <summary> /// Interaction logic for App.xaml /// </summary> public partial class App : Application { public static string[] Args; void app_Startup(object sender, StartupEventArgs e) { // If no command line arguments were provided, don't process them if (e.Args.Length == 0) return; if (e.Args.Length > 0) { Args = e.Args; } } } } |
اکنون ، در کلاس MainWindow ، برنامه فایل txt را باز کرده و تمام متن را روی جعبه متن می نویسد.
در صورت یافتن خطایی ، برنامه پیام خطایی را در جعبه متن نمایش می دهد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | using System; using System.IO; using System.Windows; namespace WPFCommandLine { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); String[] args = App.Args; try { // Open the text file using a stream reader. using (StreamReader sr = new StreamReader(args[0])) { // Read the stream to a string, and write // the string to the text box String line = sr.ReadToEnd(); textBox.AppendText(line.ToString()); textBox.AppendText("\n"); } } catch (Exception e) { textBox.AppendText("The file could not be read:"); textBox.AppendText("\n"); textBox.AppendText(e.Message); } } } } |
هنگامی که کد فوق کامپایل و اجرا می شود، یک پنجره خالی با جعبه متن ایجاد می کند زیرا این برنامه به یک آرگومان خط فرمان نیاز دارد. بنابراین ویژوال استودیو روشی آسان برای اجرای برنامه شما با پارامترهای خط فرمان فراهم می کند.
با کلیک راست بر روی پروژه WPF در solution explorer و انتخاب properties ، پنجره زیر نشان داداه می شود.
گزینه Debug را انتخاب کنید و مسیر فایل را در آرگومان خط فرمان بنویسید.
یک فایل txt را با Test.txt ایجاد کنید و متن را در آن فایل بنویسید و آن را در مکانی ذخیره کنید. در این حالت ، فایل txt در دیسک سخت “D:” ذخیره می شود.
تغییرات را در پروژه خود ذخیره کنید و هم اکنون برنامه خود را کامپایل و اجرا کنید. متن را در TextBox می بینید که این برنامه از فایل Text.txt خوانده شده است.
حالا بیایید سعی کنیم نام فایل را در دستگاه خود از Test.txt به Test1.txt تغییر دهیم و برنامه خود را دوباره اجرا کنیم ، سپس پیام خطایی را در جعبه متن مشاهده خواهید کرد.
توصیه می کنیم که کد فوق را اجرا کنید و تمام مراحل اجرای موفقیت آمیز برنامه ی خود را دنبال کنید.
با مبحث Command Line یا خط فرمان در WPF آشنا شدیم. در ادامه ی آموزش wpf به بررسی Data Binding می پردازیم. با وب سایت آموزشی پی وی لرن همراه باشید.