選択されているかどうかを示すブールフラグが付いたカスタムボタンを作成しました。選択されている場合は、ボタンの背景色を変更して、ユーザーがどのコントロールを見ているかをすばやく確認できるようにします。問題は、トリガーを正しく機能させることができないことです。ここで見たものはすべて試しましたが、コードのInitializeComponentセクションでエラーが発生します。
これが私が扱っているプロパティです
Private mIsSelected As Boolean = False
Public Property IsSelected() As Boolean
Get
Return mIsSelected
End Get
Set(ByVal value As Boolean)
mIsSelected = value
End Set
End Property
Public Shared ReadOnly MyBackgroundProperty As DependencyProperty = DependencyProperty.Register("MyBackground",
GetType(LinearGradientBrush), GetType(RentAdjButtons),
New PropertyMetadata(New LinearGradientBrush(ColorConverter.ConvertFromString("#3366CC"), ColorConverter.ConvertFromString("#0000FF"), New System.Windows.Point(0.5, 0), New System.Windows.Point(0.5, 1))))
Private mMyBackground As New LinearGradientBrush
Public Property MyBackground() As LinearGradientBrush
Get
Return mMyBackground
End Get
Set(ByVal value As LinearGradientBrush)
mMyBackground = value
End Set
End Property
これが私のXMALです
<Style TargetType="Com:RentAdjButtons">
<Setter Property="MyBackground" Value="{StaticResource DefaultBackground}" />
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="MyBackground" Value="{StaticResource SelectedButton}" />
</Trigger>
</Style.Triggers>
</Style>
現在、私が取得しているエラーは、「トリガーでプロパティをnullにすることはできません」です。
よろしくお願いします