我已经建立了一个包含自定义列的数据表格:
<DataGridTemplateColumn
Header="{x:Static local:MainWindowResources.gasNameLabel}"
Width="*"
MinWidth="150">
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<TextBox
Name="GasNameTextBox"
Text="{Binding Path=Name, UpdateSourceTrigger=PropertyChanged}"
Padding="2,0,0,0" />
<DataTemplate.Triggers>
<Trigger
SourceName="GasNameTextBox"
Property="IsVisible"
Value="True">
<Setter
TargetName="GasNameTextBox"
Property="FocusManager.FocusedElement"
Value="{Binding ElementName=GasNameTextBox}"/>
</Trigger>
</DataTemplate.Triggers>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Label
Name="GasNameLabel"
Content="{Binding Path=Name}"
Padding="0,0,0,0"
Margin="6,2,2,2" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
作为我将要重复使用的列定义,我希望能够将其定义为外部DataTemplate,只提供要绑定的属性(Binding Path = ...),其余部分可以被重用...这样我就可以定义文本模板、复选框模板等,并在各种网格中重用它们,只需更改绑定到不同属性的内容。
这是否可能?
Vladan