WPFで比較的新しいです。XAMLファイルは、いくつかのコードが頻繁に繰り返されるため、さらに複雑で混乱します。いくつかの簡単な方法は、コードをよりよく、より短く見えるようにする方法ですか?たとえば、DataGridColumnTemplateが常に同じで、データソースとヘッダー名だけが異なるDataGridがあります。あなたの正確な状況でWPFでのスタイルの繰り返しを避ける方法
<DataGridTemplateColumn Header="Web">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" />
<ColumnDefinition Width="auto" />
</Grid.ColumnDefinitions>
<CheckBox Grid.Column="0" Margin="4,0" IsChecked="{Binding Webs.IsSelected,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}">
<CheckBox.Style>
<Style TargetType="CheckBox">
<Style.Triggers>
<DataTrigger Binding="{Binding Webs}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="false"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</CheckBox.Style>
</CheckBox>
<Button Grid.Column="1" Content="Detail" Margin="3,1" />
</Grid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Flange">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" />
<ColumnDefinition Width="auto" />
</Grid.ColumnDefinitions>
<CheckBox Grid.Column="0" Margin="4,0" IsChecked="{Binding Flanges.IsSelected,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}">
<CheckBox.Style>
<Style TargetType="CheckBox">
<Style.Triggers>
<DataTrigger Binding="{Binding Flanges}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="false"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</CheckBox.Style>
</CheckBox>
<Button Grid.Column="1" Content="Detail" Margin="3,1" />
</Grid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
あなたはここで行うことができますベスト
Using WPF styles
はResources' 'へCellTemplate'' '内のあなたのDataTemplate'をシフトです。 – AnjumSKhan