如何使用C#将datetimePicker放入wpf的gridview单元格中?

时间:2014-08-27 06:09:08

标签: wpf datagrid wpf-controls wpfdatagrid datetimepicker

如何在gridview单元格中放置日期时间选择器,我有一个网格视图,在最后一列中我想放置日期时间选择器,如何将选择器插入到wpf中的gridview单元格中

2 个答案:

答案 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}},DataGridCheckBoxColumnDataGridHyperlinkColumnDataGridTextColumn

答案 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编辑数据,并使用您喜欢的格式设置绑定日期