我在App.xaml中设置了一些样式
<Style TargetType="TextBlock">
<Setter Property="Foreground" Value ="HotPink"/>
</Style>
此样式适用于普通控件,但不适用于DataTemplates
<TextBlock Text="Test"></TextBlock> <!-- Works here -->
<ItemsControl ItemsSource="{Binding ViewModel.UniverseGroups}" HorizontalAlignment="Right" VerticalAlignment="Center">
<ItemsControl.ItemTemplate>
<DataTemplate>
<RelativePanel>
<TextBlock Text="{Binding Name}"></TextBlock>
<!-- This text still is black -->
</RelativePanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
有没有办法让全局样式在DataTemplates中工作?
答案 0 :(得分:4)
不幸的是,在您的情况下,它会被Foreground
的{{1}}覆盖。因此,您必须将以下内容添加到ItemsControl
。
App.xaml
当您处理支持<Style TargetType="ItemsControl">
<Setter Property="Foreground" Value ="HotPink"/>
</Style>
的{{1}}更高级的ItemsControl
时,您需要将ListView
设置为其项容器(即ItemContainerStyle
而不是。
TargetType