Вы видите, что, возможно, я делаю неправильно? Это мой первый раз, когда я пытаюсь использовать прикрепленные свойства и не уверен в ограничениях.Триггер на прикрепленном свойстве в стиле границы. Ошибка: Ошибка инициализации типа
Вот мой класс для объявления вложенного свойства:
public class ControllerAttachedProp : DependencyObject
{
public static readonly DependencyProperty ControllerStatusProperty = DependencyProperty.RegisterAttached(
"ControllerStatus", typeof(string), typeof(ControllerAttachedProp), new PropertyMetadata(false));
public static void SetControllerStatus(DependencyObject target, string value)
{
target.SetValue(ControllerStatusProperty, value);
}
public static string GetControllerStatus(DependencyObject target)
{
return (string)target.GetValue(ControllerStatusProperty);
}
}
Вот мой стиль. Я получаю синюю загогулину под недвижимостью = «...», который говорит „инициализационный Type„ControllerAttachProp“не удался: Тип инициализатор„“ControllerAttachedProp бросил исключение“
<Style x:Key="ForegroundUpdater" TargetType="{x:Type Border}" BasedOn="{StaticResource GreenSquare}">
<Style.Triggers>
<Trigger Property="rm:ControllerAttachedProp.ControllerStatus" Value="Paused">
<Setter Property="Background" Value="{StaticResource BlueIsPaused}" />
</Trigger>
<Trigger Property="rm:ControllerAttachedProp.ControllerStatus" Value="Disconnected">
<Setter Property="Background" Value="{StaticResource RedIsBad}" />
</Trigger>
</Style.Triggers>
</Style>
Это, как я пытаюсь использовать его в моем UserControl:
<Border rm:ControllerAttachedProp.ControllerStatus="{Binding
SomePropertyInViewModel}" Style="{DynamicResource ForegroundUpdater}">
...
</Border>
Ты самый лучший! Спасибо! Спасибо! – azulBonnet