1
我有一个非常简单的UserControl,如下所示。我试图让Label元素的背景随着控件中的属性改变而改变,但它不起作用:当我改变控件实例的Selected属性时,标签的背景颜色不会改变。WPF使用DependencyProperty改变UserControl内的标签背景
谢谢!背后
代码:
public static readonly DependencyProperty SelectedProperty =
DependencyProperty.Register("Selected",
typeof(bool),
typeof(UICatcherContactlistItem),
new FrameworkPropertyMetadata((bool)false));
public bool Selected
{
get { return (bool)GetValue(SelectedProperty); }
set { SetValue(SelectedProperty, value); }
}
的XAML:
<UserControl x:Class="UICatcherContactlistItem" [....]>
<Label Name="name" Foreground="#888888">
<Style TargetType="{x:Type Label}">
<Style.Triggers>
<DataTrigger Binding="{Binding Selected}" Value="True">
<Setter Property="Background" Value="Red"/>
</DataTrigger>
<DataTrigger Binding="{Binding Selected}" Value="False">
<Setter Property="Background" Value="Blue"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Label>
</UserControl>
请查看更新的答案 – 2010-08-18 10:16:37
基肖尔 - 谢谢,最近的更新工作。 – 2010-08-18 10:42:44