如何在gridview单元格中放置日期时间选择器,我有一个网格视图,在最后一列中我想放置日期时间选择器,如何将选择器插入到wpf中的gridview单元格中
答案 0 :(得分:0)
您可以使用DataGridTemplateColumn
将任何控件放在DataGrid
的单元格内。这是使用DatePicker
控件的最小示例。它假定DataContext
具有名为Items
的属性,该属性是具有名为Date
的属性的对象的集合。
<DataGrid ItemsSource="{Binding Items}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTemplateColumn Header="Date">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DatePicker SelectedDate="{Binding Date}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
当您将AutoGenerateColumns
设置为False
时,您必须自行声明所有列,方法是将其添加到DataGrid.Columns
集合属性中,除了使用DataGridTemplateColumn
之外,您还可以使用{ {1}},DataGridCheckBoxColumn
,DataGridHyperlinkColumn
和DataGridTextColumn
。
答案 1 :(得分:0)
<DataGridTemplateColumn SortMemberPath="Data" ClipboardContentBinding="{Binding Data}" Header="Data prevista fine" IsReadOnly="False">
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<DatePicker SelectedDate="{Binding Path=Data,Mode=TwoWay}" VerticalAlignment="Center" HorizontalAlignment="Left">
</DatePicker>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Data,Mode=TwoWay,StringFormat={}{0:dd/MM/yyyy}}" VerticalAlignment="Center" HorizontalAlignment="Left">
</TextBlock>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
通过这种方式,您可以通过DataPiker编辑数据,并使用您喜欢的格式设置绑定日期