我有3个datagrids:grid0,gird1,grid2分别绑定到可观察集合Watches0,Watches1,Watches2。这里只是一个小例子,在我的实际项目中,DataGrids有很多列,包括样式,转换器等。除x:Name,Grid.Column和ItemSource属性外,所有datagrids都完全相同。问题是如果我想在xaml中更改某些属性或列,我必须为所有3个datagrid做。我正在考虑使用样式或模板,但看到它的一些问题。我感兴趣的是有没有办法在xaml中“复制”元素?
<DataGrid x:Name="grid0"
Grid.Column="0"
AllowDrop="True"
AutoGenerateColumns="False"
SelectionMode="Extended"
ItemsSource="{Binding Watches0}"
Drop="watchesGrid_Drop"
PreviewMouseLeftButtonDown="watchesGrid_PreviewMouseLeftButtonDown">
<DataGrid.Columns>
<DataGridTextColumn Header="Name"
Binding="{Binding Name}"
Width="40" />
<DataGridTextColumn Header="Value"
IsReadOnly="True"
Binding="{Binding Value}"
Width="60" />
</DataGrid.Columns>
</DataGrid>