C# 为任何操作系统(WPF)正确显示选定元素

C# 为任何操作系统(WPF)正确显示选定元素,c#,wpf,C#,Wpf,我有ListView <ListView x:Name="listView"> <ListView.View> <GridView> <GridViewColumn Width="800" > <GridViewColumn.CellTemplate> <DataTemp

我有ListView

 <ListView x:Name="listView">
        <ListView.View>
            <GridView>
                <GridViewColumn Width="800" >
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding Display}"  Foreground="Black" >
                                </TextBlock>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
                <GridViewColumn Width="800" >
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding Display}"  />
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
            </GridView>
        </ListView.View>
    </ListView>

第一个文本块-前景=“黑色” 第二个文本块-未指定前景

在ListView中的选定项中,第一个文本块
前台=“黑色”
(在每个操作系统中显示不正确),第二个文本块-前台默认值(在每个操作系统中正确显示)

我需要的是:

在ListView中的选定项中,第一个TextBlock前景也必须是默认的,并且在每个操作系统中都正确显示,但我不能直接更改TextBlock前景(在触发器或样式中)


你知道吗?可能是我可以重置第一个文本块的前景(没有设置默认前景!完全重置)。或者将样式重置为默认值???

我不确定你的问题是否正确,但我猜:你不能更改第一个
文本块的
前景,因为它是显式设置的。只需从控件本身删除前景定义并将其设置为style,这将使其可被其他样式和触发器覆盖


有更多细节的答案(如),因此您的问题有些重复。好吧,如果我没弄错的话=)

对不起,我不明白-什么是操作系统??