我目前有一大堆XAML,我正在努力重構。DataGridRowTemplateColumn - 有效地重構和使用樣式?
<DataGrid x:Name="CurrentConfigDataGrid" ItemsSource="{Binding}" >
<DataGrid.Resources>
<ResourceDictionary Source="../ResourceDictionaries/MergedDictionary.xaml" />
</DataGrid.Resources>
<DataGrid.ItemContainerStyle>
<Style TargetType="{x:Type DataGridRow}" BasedOn="{StaticResource {x:Type DataGridRow}}" />
</DataGrid.ItemContainerStyle>
<DataGrid.Columns>
<DataGridCheckBoxColumn Width="25">
</DataGridCheckBoxColumn>
<DataGridTemplateColumn Width="80" CanUserResize="False" CanUserSort="False" >
<DataGridTemplateColumn.Header>
<Label Content="Type" />
</DataGridTemplateColumn.Header>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DataTemplate.Resources>
<Style TargetType="TextBlock" BasedOn="{StaticResource {x:Type TextBlock}}" />
</DataTemplate.Resources>
<TextBlock Text="{Binding Type}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="150" CanUserResize="False" CanUserSort="False" >
<DataGridTemplateColumn.Header>
<Label Content="Version/Date" />
</DataGridTemplateColumn.Header>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DataTemplate.Resources>
<Style TargetType="TextBlock" BasedOn="{StaticResource {x:Type TextBlock}}" />
</DataTemplate.Resources>
<TextBlock Text="{Binding Version}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="150" CanUserResize="False" CanUserSort="False" >
<DataGridTemplateColumn.Header>
<Label Content="GUID" />
</DataGridTemplateColumn.Header>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DataTemplate.Resources>
<Style TargetType="TextBlock" BasedOn="{StaticResource {x:Type TextBlock}}" />
</DataTemplate.Resources>
<TextBlock Text="{Binding GUID}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
如何拉出標準的「TextBlock」風格,以便它自動被拾取?我在開始時引用了我的MergedDictionary,但是這不會自動將DataGrid中的樣式轉換爲textBlock中的樣式,除非我手動指定它們...這意味着我需要DataGirdTemplateColumn,然後是模板等。
如何最好地重構?
無論出於何種原因,這實際上並不起作用。 如果我給樣式一個x:Key並且引用它,但是,這是我會選擇的。無論如何,歡呼聲。 – jimbo