c# - WPF 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>
有趣的是,如果选择了具有上述数据模板的项目,“符号”部分为黑色,其余部分为白色。如果我删除了前景和背景绑定,那么所有的选择都是白色的。如果我手动设置颜色而不是使用绑定,我会得到相同的效果,所以我相当肯定这不是我的绑定问题,而是我的方法。
我知道我可以通过使用图像来解决这个问题,但是我被要求使用可以更改的文本(符号实际上是一个 3 个字符的字符串)。我正在考虑在位图上绘制文本并设置颜色,但我认为有一种更简单的方法。
解决方案
答案是我使用了错误的命名空间......
我正在使用 System.Drawing,我需要 System.Windows.Media
推荐阅读
- python - 如何从 dynamoDB 表中获取最近的日期(排序键)
- pandas - Pandas cut() 创建更少的垃圾箱
- php - 如何制作正则表达式来检测rupay借记卡
- android - 如何在android的textinputlayout中更改FloatingPlaceholderColor但不提示颜色
- java - 如何从 Firebase 检索数据并将其设置为图表的字符串和整数
- c# - 将 UInt32 数组转换为图像/位图
- python - 一次热编码后数据帧中的行数减少
- python - 遍历切片列表并匹配具有 dict 值的元素
- ggplot2 - 如何解决此错误:二进制运算符的非数字参数
- mysql - MySQL 查询 WHERE