Я новичок в технологии 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.Calll. 'может быть найдено (вам не хватает директивы using или ссылки на сборку?)