我有一个列表框,它与可观察的集合有关。集合中的元素包含一个名为color的变量。我的列表框的项目已经绑定到集合,但是如何将项目字体颜色绑定到该集合?我已经有了一个数据模板,可以正常使用颜色名称替换项目的名称,如此
<DataTemplate x:Key="myListBox">
<TextBlock Padding="0,0,10,0"
Text="{Binding Path=Color, Mode=Default}"/>
</DataTemplate>
但我似乎无法找到为了绑定颜色而必须设置的属性。
答案 0 :(得分:2)
不确定您所指的是哪种颜色,但这会设置背景和文字/前景色。
<TextBlock Padding="0,0,10,0"
Text="{Binding Path=Color, Mode=Default}"
Background="{Binding myBackgroundColour}"
Foreground="{Binding myTextColour}"
/>
编辑:依赖性支柱 -
public string Color
{
get { return (string)GetValue(ColorProperty); }
set { SetValue(ColorProperty, value); }
}
// Using a DependencyProperty as the backing store for Color. This enables animation, styling, binding, etc...
public static readonly DependencyProperty ColorProperty =
DependencyProperty.Register("Color", typeof(string), typeof(CLASSNAMEHERE), new UIPropertyMetadata("Black"));
将CLASSNAMEHERE替换为您要放入的类的名称,即viewmodel类或codebehind类名。
使用:
this.Color = "Yellow";
答案 1 :(得分:1)
您可以使用此资源样式
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="Foreground" Value="></Setter>
<Setter Property="FontWeight" Value="Bold"></Setter>
bla bla bla
</Style>