2017-08-27 115 views
2

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

回答

4

不幸的是,沒有,如在你的情況下,它將被的Foreground覆蓋。所以你必須在你的App.xaml中添加以下內容。

<Style TargetType="ItemsControl"> 
    <Setter Property="Foreground" Value ="HotPink"/> 
</Style> 

當你正在處理更高級的ItemsControlListView支持ItemContainerStyle,你需要將TargetType設置爲其項目的容器(即ListViewItem)來代替。

<Style TargetType="ListViewItem"> 
    <Setter Property="Foreground" Value ="HotPink"/> 
</Style> 
+2

對我來說也行得通! – AntiHeadshot