私は、MyUserControlというカスタムユーザーコントロールを作成しています。私は複数のDependecyPropertiesを持っています。私はMainWindowでいくつかのMyUserControlが複数回定義されています。私が知りたいのは、スタイルのトリガ/プロパティが起動するカスタムプロパティをどのように作成できますか?例えばUserControlトリガーのカスタムプロパティ
、私はカスタムプロパティBOOL IsGoingとカスタムプロパティMyBackgroung(ユーザーコントロールの背景)、両方のように定義されている場合:
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));
と私はMainWindow.xamlで私のユーザーコントロールを定義した場合に、 IsGoingプロパティがtrue/falseであるかどうかに応じて、トリガにアクセスしてMyBackgroundを設定するにはどうすればよいですか? は、私は多くのことを試してみましたが、本質的には、私のような何かを達成しようとしている:私は私の説明は、あなたが理解するために十分であると思います
<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>
を。私は数日間この作業を続けてきましたが、解決策を見つけることができません。 助けてくれてありがとう!
エイドリアン
ありがとう!!!!それは働いた:) ...うわー、私はそれが簡単だとは信じられない。数日間それと苦労して、事実上同じことをした後、いくつかの行が修正されただけで...私はそれを信じることができません...ありがとう! –