【问题标题】:How to put DatetimePicker In gridview cell in wpf using C#?如何使用 C# 将 DatetimePicker 放入 wpf 的 gridview 单元格中?
【发布时间】:2014-08-27 06:09:08
【问题描述】:

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

【问题讨论】:

    标签: wpf datagrid wpf-controls wpfdatagrid datetimepicker


    【解决方案1】:

    您可以使用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,您还可以使用DataGridCheckBoxColumnDataGridHyperlinkColumn、@ 987654335@和DataGridComboBoxColumn

    【讨论】:

      【解决方案2】:
       <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 编辑数据并将您绑定的日期格式化为您喜欢的格式

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多