テキストボックスに入力した文字をテキストブロックに表示するツールを作成しています。
FontDialogでフォントのサイズやスタイルを設定できるようにしたのですが、
フォントサイズの変更値を維持してくれません。
(例えば、1回目にフォントサイズを24に設定しても、2回目にFontDialogを開いた時にはフォントサイズが初期設定に戻ってしまっている)
フォントサイズの変更値を維持するには、どうすればよいでしょうか?
一部省略していますが、以下が現在書いているコードです。
html
1 <Grid> 2 <TextBox x:Name="Text1" HorizontalAlignment="Left" Height="99" TextWrapping="Wrap" Text="名前" VerticalAlignment="Top" FontSize="18"/> 3 4 <ItemsControl ItemsSource="{Binding Text, 5 ElementName=Text1, Mode=OneWay}" > 6 <ItemsControl.ItemsPanel> 7 <ItemsPanelTemplate> 8 <StackPanel Orientation="Horizontal" 9 HorizontalAlignment="Center"/> 10 </ItemsPanelTemplate> 11 </ItemsControl.ItemsPanel> 12 <ItemsControl.ItemTemplate> 13 <DataTemplate> 14 <TextBlock x:Name="TextBlock1" Style="{Binding}" 15 Margin="5" Text="{Binding}"/> 16 </DataTemplate> 17 </ItemsControl.ItemTemplate> 18 </ItemsControl> 19 </Grid> 20 21<Button x:Name="FontSize" Content="Font" HorizontalAlignment="Left" Margin="609,341,0,0" VerticalAlignment="Top" Width="75" Click="FontSize_Click"/>
C#
1private void FontSize_Click(object sender, RoutedEventArgs e) 2 { 3 FontDialog fontDialog = new FontDialog(); 4 5 6 if (fontDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) 7 { 8 TextBlock1.FontFamily = new FontFamily(fontDialog.Font.Name); 9 TextBlock1.FontSize = fontDialog.Font.Size * 98.0 / 72.0; 10 TextBlock1.FontWeight = fontDialog.Font.Bold ? FontWeights.Bold : FontWeights.Regular; 11 TextBlock1.FontStyle = fontDialog.Font.Italic ? FontStyles.Italic : FontStyles.Normal; 12 13 14 } 15 }
fontDialog.Font.Size=TextBlock1.FontSize とやれば変更値を維持できるかと思ったのですが、fontDialog.Font.Sizeは読み取り専用であるため、できませんでした。
もし解決策をご存知の方がいましたら、ご協力お願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/12/14 14:46