前提
wpfのToggleButtonのON/OFF時の色を指定できるようしたいです。
環境は
visualstudio2022
wpfアプリ
.NET Framework 4.7.2
です。
実現したいこと
wpf初心者です。
wpfでChecked/UnCheckedの時の色を指定できるToggleButtonを作っているのですが、指定したWidthより小さい幅(表示する文字の幅)でしか表示されません。
Paddingで調節は可能なのですが、いちいち設定するわけにもいきません。
wpfの勉強を始めたばかりのためここで止まってしまっています。
よろしくお願いします。
発生している問題・エラーメッセージ
<ToggleButton ・・・ Width="XXX"・・・>で指定した幅にToggleButtonを表示したい。
現在は表示する文字列の幅でしか表示されない。
### 該当のソースコード <Window.Resources> <Style x:Key="ToggleButtonStyle1" TargetType="{x:Type ToggleButton}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ToggleButton}"> <Border HorizontalAlignment="Center" VerticalAlignment="Center" x:Name="border" Padding="10,5,10,5" CornerRadius="10,10,10,10" Background="#FF00FFFF" BorderBrush="#FF000000" BorderThickness="1,1,1,1" SnapsToDevicePixels="True" > <ContentPresenter x:Name="contentPresenter"/> </Border> <ControlTemplate.Triggers> <Trigger Property="IsChecked" Value="true"> <Setter Property="Background" TargetName="border" Value="#FFC31010"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> </Window.Resources> <Grid> <StackPanel> <ToggleButton Name ="ToggleButton1" Content="ToggleButton" Margin="5" Width="200" Height="45" Style="{StaticResource ToggleButtonStyle1}" Click="ToggleButton1_Click" /> </StackPanel> </Grid>
回答1件