我是WPF技术的新手,我正在使用MVVM架构。当ViewModel中绑定的属性更改其值时,我希望我的边框更改颜色。让我们来看看代码:
在我的XAML中:
<Window.Resources>
<Style TargetType="{x:Type Border}" x:Key="LineColor">
<Setter Property="Background" Value="Transparent"/>
<Style.Triggers>
<DataTrigger Binding="{Binding lcolor}" Value="Blue">
<Setter Property="Background" Value="Green">
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
我将它绑定到我的边界:
<Border CornerRadius="1,1,0,0" Style="{StaticResource LineColor}" >
然后在我的ViewModel中我采用了简单的字符串:
public string lcolor="Blue";
但它根本不起作用。请帮帮我。
编辑:我尝试了如下:
public Boolean lcolor
{
get { return (Boolean)this.GetValue(StateProperty); }
set { this.SetValue(StateProperty, value); }
}
public static readonly DependencyProperty StateProperty = DependencyProperty.Register(
"lcolor", typeof(Boolean), typeof(CallControlViewModel));
但它给了我以下错误:
错误9
“PSWGS.Client.Module.CallControl.ViewModels.CallControlViewModel”不包含“GetValue”的定义,也没有扩展方法“GetValue”接受类型为“PSWGS.Client.Module.CallControl.ViewModels.CallControlViewModel”的第一个参数'可以找到(你错过了使用指令或汇编引用吗?)