Я пытаюсь установить размер шрифта динамически в WPF. Вот что я сделал до сих пор.Установить размер шрифта динамически в WPF
App.xaml
<Style TargetType="{x:Type FrameworkElement}" x:key="baseStyle"></Style>
<Style TargetType="{x:Type TextBlock}" BasedOn={StaticResource baseStyle}"/>
App.xaml.cs
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
double fontSize = System.Drawing.SystemFonts.IconTitleFont.Size;
Style style = new Style{ TargetType = typeof(FrameworkElement)};
style.Setter.Add(new Setter(TextElement.FontSizeProperty, fontSize));
Application.Current.Resources["baseStyle"] = style;
}
}
MainWindow.xaml
<TextBlock Text="This is Sparta!!!"/>
Редакция:
Когда OnStartup, называемый ресурсом baseStyle, недоступен. Таким образом, стиль присваивается нулевому значению, из-за которого стиль не применяется. Любой, кто имеет идею реализовать его каким-то другим способом. Ваша помощь будет оценена по достоинству.
Редактировать: Есть одна вещь, которую я хотел бы уточнить. На самом деле я написал код App.xaml и App.xaml.cs в словаре ресурсов и объединил его в App.xaml. Код, написанный в OnStartup, написан в конструкторе этого кода за классом.
Ну, это не проблема брата, я уже это сделал. Проблема в том, что он не взял код позади стиля. –
Я отредактировал свой ответ, надеюсь, что он hepls – Johannes
Спасибо вам за ваши усилия, но это тоже не сработало. Если вы хотите подтвердить, просто добавьте эту строку в свой код ** style.Setters.Add (новый Setter (TextElement.BackgroundProperty, Brushes.Azure)); ** Цвет не изменится. –