WPF TreeView - 设置基于文本的符号的颜色

时间:2018-06-11 22:43:57

标签: c# wpf colors treeview

我在设置一些"前缀"时遇到问题。树视图中的文本背景和前景色...以下代码设置正确的"符号"但不会改变颜色...

    <DataTemplate DataType="{x:Type models:ChainItem}">
        <StackPanel Orientation="Horizontal">
            <TextBlock Text="{Binding Path=Symbol}" FontFamily="Courier New" FontSize="10" Background="{Binding Path=SymbolBackground}" Foreground="{Binding Path=SymbolBrush}"/>
            <TextBlock Grid.Column="1" Text="{Binding Path=Name}" FontSize="16"/>
        </StackPanel>
    </DataTemplate>

有趣的是,如果选择了具有上述数据模板的项目,则&#34;符号&#34;部分是黑色而其余部分是白色。如果我删除前景和背景绑定,则所有选择都是白色。如果我手动设置颜色而不是使用绑定,我会得到相同的效果,所以我相当肯定这不是我的绑定问题,而是我的方法。

我知道我可以通过使用图像来解决这个问题,但我被要求使用文本,因为它可以改变(符号实际上是一个3个字符的字符串)。我考虑在位图上绘制文字并设置颜色,但我认为有一种更简单的方法。

1 个答案:

答案 0 :(得分:0)

答案是我使用了错误的命名空间......

我使用的是System.Drawing,我需要System.Windows.Media