UWP XAML的全球风格

时间:2017-08-27 13:43:20

标签: c# xaml uwp uwp-xaml

我在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中工作?

1 个答案:

答案 0 :(得分:4)

不幸的是,在您的情况下,它会被Foreground的{​​{1}}覆盖。因此,您必须将以下内容添加到ItemsControl

App.xaml

当您处理支持<Style TargetType="ItemsControl"> <Setter Property="Foreground" Value ="HotPink"/> </Style> 的{​​{1}}更高级的ItemsControl时,您需要将ListView设置为其项容器(即ItemContainerStyle而不是。

TargetType