مقدمه
دوباره خوش آمدید،
ما هفت کنترل اساسی پلتفرم ویندوز جهانی را دیدهایم. امروز، با کنترلهای رایجتری مانند کنترلهای ورودی آشنا میشویم. ما بیشتر در مورد کنترلهای TextBox، Date and Time Picker صحبت خواهیم کرد. بنابراین، بیایید شروع کنیم.
کار با TextBox Control
اول از همه، امروز قصد ندارم نحوه باز کردن یک پروژه را از ابتدا توضیح دهم. ما قبلا این کار را انجام داده ایم. بنابراین، من به سمت محتوا در اینجا حرکت می کنم. دو TextBlock را بردارید و محتوای متن را به "First Name" و "Last Name" تغییر دهید. دو TextBox بردارید، نام آنها را "firstNameTextBox" و "lastNameTextBox" بگذارید. دو TextBlock دیگر بردارید و نام آنها را "welcomeTextBlock" و "nameTextBlock" بگذارید. آنها را مطابق تصویر زیر مرتب کنید:
طراحی کد نیز در اینجا آورده شده است:
- <TextBlock Text="First Name: " FontSize="24" />
- <TextBox x:Name="firstNameTextBox" Grid.Column="1" />
- <TextBlock Text="Last Name: " Grid.Row="1" FontSize="24" />
- <TextBox x:Name="lastNameTextBox" Grid.Row="1" Grid.Column="1" />
- <Button x:Name="GoButton" Grid.Column="1" Grid.Row="2" Content="Go" VerticalAlignment="Bottom" Width="110" Click="GoButton_Click" />
- <TextBlock x:Name="welcomeTextBlock" HorizontalAlignment="Left" Margin="10,5,0,0" Grid.Row="3" TextWrapping="Wrap" VerticalAlignment="Top" Height="40" Width="320" FontSize="20" Grid.ColumnSpan="2" />
- <TextBlock x:Name="nameTextBlock" HorizontalAlignment="Left" Margin="10,50,0,0" Grid.Row="3" TextWrapping="Wrap" Width="320" FontSize="20" Grid.ColumnSpan="2" Height="40" VerticalAlignment="Top" />
لیست 1
از آنجایی که باید عملیات ورودی را مدیریت کنیم، از یک کنترل Button در کد ذکر شده در بالا استفاده کردیم و یک رویداد کلیک داریم.
"GoButton_Click". بنابراین، کد سی شارپ ما مانند شکل زیر به نظر می رسد:
- private void GoButton_Click(object sender, RoutedEventArgs e)
- {
- if (lastNameTextBox.Text != string.Empty) {
- if (firstNameTextBox.Text != string.Empty) {
- welcomeTextBlock.Text = "Hello,";
- nameTextBlock.Text = firstNameTextBox.Text + " " + lastNameTextBox.Text;
- } else {
- welcomeTextBlock.Text = "Hello,";
- nameTextBlock.Text = lastNameTextBox.Text;
- }
- } else {
- welcomeTextBlock.Text = "Sorry,";
- nameTextBlock.Text = "Last name can't be empty!";
- }
- }
لیست 2
اکنون، کاری که من در واقع انجام دادم این است که متن "lastNameTextBox" را بررسی کنم تا ببینم خالی است یا نه. اگه خالی نباشه خوبه بری ما متن "firstNameTextBox" را بررسی می کنیم و اگر خالی نیست، عملیات زیر را انجام می دهیم، دومین " if تصمیم بیانیه". بنابراین، در این مورد، ما یک متن خوش آمد گویی می کنیم، "سلام". پس از آن، نام و نام خانوادگی را در "nameTextBlock" قرار دهید یا فقط نام خانوادگی را در این قسمت قرار می دهیم.
در غیر این صورت، اگر قسمت نام خانوادگی خالی باشد، پیغام خطا می دهیم، زیرا نام خانوادگی نمی تواند خالی باشد.
کار با کنترل انتخابگر تاریخ و زمان
اکنون، در مورد کنترلهای انتخابگر تاریخ و زمان صحبت خواهیم کرد. بکشید و رها کنید یا فقط XAML سفارشی خود را بنویسید. من دوست دارم XAML سفارشی ترجیحی خود را بنویسم. من یک Textblock را به عنوان هدر برای نشان دادن متن انتخاب کرده ام، یکی DatePicker، یک TimePicker و یک Button. در سمت راست، من یک TextBlock را به عنوان فیلد سرصفحه و دو TextBlock دیگر برای نشان دادن تاریخ و زمانی که انتخاب میکنید، انتخاب کردهام. طرح در اینجا آورده شده است:
طراحی کد در زیر آورده شده است:
- <TextBlock HorizontalAlignment="Left" Margin="10,10.333,0,0" Grid.Row="4" TextWrapping="Wrap" Text="Pick a Date and Time" FontSize="20" VerticalAlignment="Top" Height="40" Width="320" Grid.ColumnSpan="2" />
- <DatePicker x:Name="datePicker" HorizontalAlignment="Left" Margin="10,54,0,0" Grid.Row="4" VerticalAlignment="Top" Width="100" Grid.ColumnSpan="2" />
- <TimePicker x:Name="timePicker" HorizontalAlignment="Left" Margin="10,93,0,0" Grid.Row="4" VerticalAlignment="Top" Width="100" Grid.ColumnSpan="2" />
- <Button x:Name="submitButton" Grid.Row="4" Content="Submit" Width="110" Click="submitButton_Click" Margin="10,131,0,202.333" />
- <TextBlock HorizontalAlignment="Left" Margin="10,172,0,0" Grid.Row="4" TextWrapping="Wrap" Text="You have selected" FontSize="20" VerticalAlignment="Top" Height="47" Width="320" Grid.ColumnSpan="2" />
- <TextBlock x:Name="dateTextBlock" HorizontalAlignment="Left" Margin="10,208,0,0" Grid.Row="4" TextWrapping="Wrap" FontSize="20" VerticalAlignment="Top" Height="40" Width="320" Grid.ColumnSpan="2" />
- <TextBlock x:Name="timeTextBlock" HorizontalAlignment="Left" Margin="10,253,0,0" Grid.Row="4" TextWrapping="Wrap" FontSize="20" VerticalAlignment="Top" Height="40" Width="320" Grid.ColumnSpan="2" />
لیست 3