【发布时间】:2014-08-27 06:09:08
【问题描述】:
如何在 gridview 单元格中放置日期时间选择器,我有一个 gridview,在最后一列中我想放置日期时间选择器,如何将选择器插入到 wpf 中的 gridview 单元格中
【问题讨论】:
标签: wpf datagrid wpf-controls wpfdatagrid datetimepicker
如何在 gridview 单元格中放置日期时间选择器,我有一个 gridview,在最后一列中我想放置日期时间选择器,如何将选择器插入到 wpf 中的 gridview 单元格中
【问题讨论】:
标签: wpf datagrid wpf-controls wpfdatagrid datetimepicker
您可以使用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,您还可以使用DataGridCheckBoxColumn、DataGridHyperlinkColumn、@ 987654335@和DataGridComboBoxColumn。
【讨论】:
<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 编辑数据并将您绑定的日期格式化为您喜欢的格式
【讨论】: