我有一个datagrid模板列,它在单元格编辑模板中使用DatePicker:
<DataGridTemplateColumn
Header="Date Paid"
DisplayIndex="2"
Width="100">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
Text="{Binding Path=DatePaid, Converter={StaticResource conDate}, StringFormat='MMM d, yyyy'}"
HorizontalAlignment="Center">
</TextBlock>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<DatePicker
SelectedDate="{Binding Path=DatePaid}">
</DatePicker>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
我想在此DatePicker的代码中设置一些属性。我知道该列不在可视树中,所以如何在代码后面引用DatePicker?
答案 0 :(得分:0)
我知道该列不在可视树中,所以如何在代码后面引用DatePicker?
你没有。事实上,没有一个DatePicker
可供参考,因为DatePicker
中的每一行都会创建一个DataGrid
元素。
如果您想为所有这些设置一些默认属性,可以使用Style
:
<Window ...>
<Window.Resources>
<Style x:Key="DatePickerStyle" TargetType="DatePicker">
<Setter Property="FontSize" Value="12" />
<!--set the properties here...-->
</Style>
</Window.Resources>
<DataGrid ..>
<DataGrid.Columns>
...
<DataGridTemplateColumn
Header="Date Paid"
DisplayIndex="2"
Width="100">
...
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<DatePicker SelectedDate="{Binding Path=DatePaid}" Style="{StaticResource DatePickerStyle}" />
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</Window>