WPF'de yerleşik MaskedTextBox
yoktur. Ancak, Genişletilmiş WPF Araç Takımı'dan MaskedTextBox
veya DateTimePicker
'u kullanabilirsiniz.
Extended WPF Toolkit ve MaskedTextBox
'dan DateTimePicker göstermesini istiyorum.
Güncelleme:
:
Tabii, WPF Extended Toolkit
kütüphane kullanımı xmlns
mahlasını oluşturmak Sonra Extended WPF ToolKit through Nuget.
indir, İlk başta DateTimePicker
-DataGrid
ekleyebilir
<Window
...
xmlns:wpfTool="clr-namespace:Xceed.Wpf.Toolkit;assembly=Xceed.Wpf.Toolkit"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Window.DataContext>
<vm:MainWindowViewModel/>
</Window.DataContext>
<Grid>
<DataGrid ItemsSource="{Binding Persons}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="ID" Binding="{Binding IdPerson}"/>
<DataGridTextColumn Header="Name" Binding="{Binding Name}"/>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<wpfTool:DateTimePicker Value="{Binding MyDate}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</Window>
ve model sınıfı:
public class Person
{
public int IdPerson { get; set; }
public string Name { get; set; }
public DateTime FirstDate { get; set; }
}
VEYA:
Sadece WPF Extended Toolkit
den Mask="00-00-0000"
ile MaskedTextBox
kullanın. Örneğin: daha sonra
<DataGrid ItemsSource="{Binding Persons}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="ID" Binding="{Binding IdPerson}"/>
<DataGridTextColumn Header="Name" Binding="{Binding Name}"/>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<wpfTool:MaskedTextBox Mask="00-00-0000" Text="{Binding CheckDateTime}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
ve DataGrid'e düzenleme kötü CheckDateTime
DateTime.ParseExact(...);
ile ayrıştırma. Genellikle bilgi girmek için başka bir form oluşturmanızı öneririm ve ardından 2. form girişlerini DataGrid'e kopyalarım. – jdweng