n個の長方形があるとします。長方形をクリックすると、白で塗りつぶされ、他のすべてが黒で塗りつぶされるように動作させたいです。
私はスタイルを作成できることを知っています。しかし、スタイルを作成している間、トリガーに長方形を黒色で塗りつぶすように伝えることができますが、残りのすべての長方形を白色で塗りつぶすにはどうすればよいでしょうか。
誰でも私に提案できますか?ちょっとしたヒントが欲しい。
n個の長方形があるとします。長方形をクリックすると、白で塗りつぶされ、他のすべてが黒で塗りつぶされるように動作させたいです。
私はスタイルを作成できることを知っています。しかし、スタイルを作成している間、トリガーに長方形を黒色で塗りつぶすように伝えることができますが、残りのすべての長方形を白色で塗りつぶすにはどうすればよいでしょうか。
誰でも私に提案できますか?ちょっとしたヒントが欲しい。
長方形を のように機能させないでください。長方形のようRadioButtons
に見せてRadioButtons
ください。代わりに使用し、テンプレートを変更して長方形のようにする
ことをお勧めします。RadioButton
次に、プロパティに基づいて背景の変更をトリガーできRadioButton.IsChecked
ます。この方法RadioButton
は、ティック/アンティック操作を処理RadioButtons
し、同じグループ内の他のバックグラウンドの変更をトリガーします。
<Style TargetType="{x:Type RadioButton}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type RadioButton}">
<Border BorderBrush="Black" BorderThickness="1" Background="Black" x:Name="PART_Border">
<ContentPresenter/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="PART_Border" Property="Background" Value="White"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
RadioButton
次のように使用します。
<RadioButton>
<RadioButton.Content>
<!-- content to be displayer inside border -->
</RadioButton.Content>
</RadioButton>