Я пишу пользовательский элемент управления, называемый MyUserControl.У меня есть много DependecyProperties для него, который я использую в MainWindow, где несколько MyUserControl определяются несколько раз.Я хотел бы знать, как я могу создать пользовательские свойства, которые будут запускать триггеры / свойства для стиля?
Например, если у меня есть пользовательское свойство BOOL IsGoing и пользовательское свойство MyBackgroung (фон UserControl), оба определены как:
public bool IsGoing
{
get { return (bool)this.GetValue(IsGoingProperty); }
set { this.SetValue(IsGoingProperty, value); }
}
public static readonly DependencyProperty IsGoingProperty = DependencyProperty.RegisterAttached(
"IsGoing", typeof(bool), typeof(MyUserControl), new PropertyMetadata(false));
public Brush MyBackground
{
get { return (Brush)this.GetValue(MyBackgroundProperty); }
set { this.SetValue(MyBackgroundProperty, value); }
}
public static readonly DependencyProperty MyBackgroundProperty = DependencyProperty.Register(
"MyBackground", typeof(Brush), typeof(MyUserControl), new PropertyMetadata(Brushes.Red));
и если я определю свой UserControlMainWindow.xaml, как я могу получить доступ к триггерам и установить MyBackground, в зависимости от того, является ли свойство IsGoing истинным / ложным?Я пробовал много вещей, но по сути, я пытаюсь достичь чего-то вроде:
<custom:MyUserControl MyBackground="Green" x:Name="myUC1" Margin="120.433,0,0,65.5" Height="50" Width="250" VerticalAlignment="Bottom" HorizontalAlignment="Left" >
<Style>
<Style.Triggers>
<Trigger Property="IsGoing" Value="True">
<Setter Property="MyBackground" Value="Yellow"/>
</Trigger>
</Style.Triggers>
</Style>
</custom:MyUserControl>
Я надеюсь, что мое объяснение достаточно для вас, чтобы понять.Я работаю над этим уже пару дней и не могу найти решение.Спасибо за помощь !!!
Адриан