私はWPFスタイリングに慣れていませんし、次の作業をすることはできません: 私はそれに別のチェックボックスでカスタムチェックボックススタイルを持っています。 ControlTemplateの子の "contolCheckBox"子として変更する親の "IsChecked"値が必要です。 異なるトリガーを試行しましたが、親プロパティに到達できません。制御doesnの `tの変化のWPFスタイルで、子にバインド親チェックボックスプロパティを修正する方法はありますか?
<Style x:Key="CustomCheckBox" TargetType="{x:Type CheckBox}">
<Setter Property="Height" Value="27" />
<Setter Property="Foreground" Value="#FFBABAC7" />
<Setter Property="HorizontalContentAlignment" Value="Left"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type CheckBox}">
<Grid>
<CheckBox x:Name="contolCheckBox" HorizontalAlignment="Right" VerticalAlignment="Center"/>
<ContentPresenter HorizontalAlignment="Left" VerticalAlignment="Center"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="IsChecked" Value="{Binding IsChecked, ElementName=contolCheckBox}"/>
<!---->
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Foreground" Value="#FF29E200"/>
</Trigger>
<Trigger Property="IsChecked" Value="False">
<Setter Property="Foreground" Value="Firebrick"/>
</Trigger>
</Style.Triggers>
</Style>
「にisChecked」値: は、今の私は、次のXAMLコードを持っています。 私は何が間違っていますか?
Binding ElementName=contolCheckBox, Path=IsChecked
も機能しません。
試してみてください。値= "{バインディングモード= TwoWay、ElementName = controlCheckBox、Path = IsChecked}" –
残念ながら、それは助けません。 – Zahar