【发布时间】:2010-10-11 10:05:14
【问题描述】:
我希望能够基于我的数据源以编程方式创建 DataGridTemplateColumns。例如,如果我的来源在特定列中有日期,我希望能够使用 Datepicker 控件。我知道这很容易在设计时使用 xaml 和 DataGridTemplateColumn 完成,但是,我将如何在运行时完成呢?
是我最好的选择 xamlreader.load 还是更传统的路线,例如:
Dim TempCol As Microsoft.Windows.Controls.DataGridTemplateColumn
我对后者没有任何成功。
谢谢。
-保罗
编辑: 这是我尝试使用的代码:
Dim TempCol As New Microsoft.Windows.Controls.DataGridTemplateColumn
TempCol.CellEditingTemplate = DataTemplate.Equals(DatePicker)
我收到 DatePicker 是一种类型,不能用作表达式。
我基于 WPF 工具包演示。 http://windowsclient.net/wpf/wpf35/wpf-35sp1-toolkit-datagrid-feature-walkthrough.aspx
<dg:DataGridTemplateColumn Header="Date" MinWidth="100">
<dg:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<dg:DatePicker SelectedDate="{Binding Date}" SelectedDateFormat="Short" />
</DataTemplate>
</dg:DataGridTemplateColumn.CellEditingTemplate>
<dg:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Date, StringFormat=d}" />
</DataTemplate>
</dg:DataGridTemplateColumn.CellTemplate>
</dg:DataGridTemplateColumn>
谢谢!
【问题讨论】:
-
您能否发布您用于生成模板列的确切代码?
-
如果我应该添加其他内容,请告诉我。谢谢。
标签: wpf vb.net .net-3.5 datagrid