前提条件
- アプリケーション全体のデザインに関わるXAML(Style.xaml)を用意し、App.xaml で該当ファイルを MergedDictionaries にて読込する.
- Style.xaml にて TargetType:TextBlock の Style に FontSize の設定を記述する.
- (追加)Style.xaml の TextBlock の定義箇所では x:Key の指定は避けたいです。
(デフォルトの TextBlock のスタイルとして定義したい為)
実現したいこと
前提条件(上記参照)の状況下で、RadioButton のテキストサイズを変更したいです。
発生している問題
RadioButton の FontSize プロパティに値をセットしてもサイズが変わりません。
(同様に FontWeight も NG でした)
確認したこと
文字色(Foreground)のスタイル情報を設定すると、正しく適用されたのを確認しました。
(→ MainWindow.xaml (下記サンプルコード)に記述したスタイル設定が読み込まれていないという訳では無さそうです)
(この内容は間違いであることを確認)
該当のソースコード
XAML
1(App.xaml) 2<Application x:Class="WpfApp2.App" 3 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 4 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 5 xmlns:local="clr-namespace:WpfApp2" 6 StartupUri="MainWindow.xaml"> 7 <Application.Resources> 8 <ResourceDictionary> 9 <ResourceDictionary.MergedDictionaries> 10 <ResourceDictionary Source="pack://application:,,,/WpfApp2;component/Style.xaml" /> 11 </ResourceDictionary.MergedDictionaries> 12 </ResourceDictionary> 13 </Application.Resources> 14</Application>
XAML
1(Style.xaml) 2<ResourceDictionary 3 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 4 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 5 <Style TargetType="{x:Type TextBlock}"> 6 <Setter Property="FontSize" Value="20" /> 7 <!-- 8 <Setter Property="Foreground" Value="Green" /> 9 <Setter Property="FontWeight" Value="Light" /> 10 --> 11 </Style> 12</ResourceDictionary>
XAML
1(MainWindow.xaml) 2<Window x:Class="WpfApp2.MainWindow" 3 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 4 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 5 <Window.Resources> 6 <Style TargetType="{x:Type RadioButton}"> 7 <Setter Property="FontSize" Value="12" /> 8 <!-- 文字色など上書きされて適用されることを確認. 9 <Setter Property="Foreground" Value="Green" /> 10 --> 11 <!-- 太さも適用されない. 12 <Setter Property="FontWeight" Value="Bold" /> 13 --> 14 </Style> 15 </Window.Resources> 16 <Grid> 17 <StackPanel> 18 <TextBlock Text="テキストブロック" /> 19 <!-- ここのラジオボタンのラベルを 12pt で表示したい. --> 20 <RadioButton Content="ラジオ1" GroupName="ITem"/> 21 <RadioButton Content="ラジオ2" GroupName="ITem" FontSize="12" /> 22 </StackPanel> 23 </Grid> 24</Window>
実行結果
補足情報(FW/ツールのバージョンなど)
- WPF
- .NetFramework 4.5.2
- C#
- Visual Studio 2019
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/14 06:40 編集
2019/11/14 06:54