実際、私はあなたが必要とするものを正確に理解していませんでした。しかし、私は助けようとします。
私たちが見る定義:
次に、実行する必要がある xaml を使用できるようにします。
xmlns:presentation="clr-namespace:System.Windows.Controls;assembly=PresentationFramework"
ここで、独自のコントロールの依存関係プロパティで何かを発生させたい場合は、DataTriggers ではなく Triggers を使用する必要があります。
サンプル:
<Calendar Height="170" HorizontalAlignment="Left" Margin="83,112,0,0" Name="calendar1" VerticalAlignment="Top" Width="180">
<Calendar.Style>
<Style TargetType="Calendar">
<Setter Property="Opacity" Value="0.4"/>
<Style.Triggers>
<Trigger Property="SelectionMode" Value="{x:Static presentation:CalendarMode.Month}">
<Setter Property="Opacity" Value="1.0"/>
</Trigger>
</Style.Triggers>
</Style>
</Calendar.Style>
</Calendar>
通常、DataTriggers は、実装 INotifyPropertyChanged によって作成されたオブジェクトに使用されます。ゴチャゴチャにしない。
ここで、別のコントロールを変更したい場合 (CalendarMode が変更されたとき) は、次のようにする必要があります。
<Calendar Height="170" HorizontalAlignment="Left" Margin="83,112,0,0"
Name="calendar1" VerticalAlignment="Top" Width="180"/>
<Grid>
<Grid.Style>
<Style TargetType="Grid">
<Setter Property="Opacity" Value="0.5"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=calendar1, Path=CalendarMode}">
<DataTrigger.Value>
<presentation:CalendarMode>Month</presentation:CalendarMode>
</DataTrigger.Value>
<Setter Property="Opacity" Value="1.0"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Style>
</Grid>
トリガー、データトリガー、バインディングについてもっと読むことをお勧めします。