WPFにはMaskedTextBox
が組み込まれていません。ただし、MaskedTextBox
またはDateTimePicker
から拡張WPFツールキットを使用できます。
DateTimePickerを拡張WPFツールキットとMaskedTextBox
から表示したいと思います。 ![enter image description here](https://i.stack.imgur.com/Os1Mu.jpg)
更新:
:
確かに、あなたはWPF Extended Toolkit
ライブラリを使用するxmlns
に仮名を作成し、その後Extended WPF ToolKit through Nuget.
をダウンロードし、最初にDateTimePicker
からDataGrid
を追加することができます
<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>
とモデルクラス:
public class Person
{
public int IdPerson { get; set; }
public string Name { get; set; }
public DateTime FirstDate { get; set; }
}
OR:
だけWPF Extended Toolkit
からMask="00-00-0000"
でMaskedTextBox
を使用しています。例えば:次に
<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>
とをデータグリッドで編集が悪いCheckDateTime
DateTime.ParseExact(...);
によって解析。通常、情報を入力するための別のフォームを作成し、2番目のフォーム入力をDataGridにコピーすることをお勧めします。 – jdweng