在app.xaml.cs中,我执行以下操作来更改主控制字体大小和系列
public App()
{
Style style = new Style
{
TargetType = typeof(Window)
};
style.Setters.Add(new Setter(Window.FontFamilyProperty, new System.Windows.Media.FontFamily("Consolas")));
style.Setters.Add(new Setter(Window.FontSizeProperty, 30.0));
FrameworkElement.StyleProperty.OverrideMetadata(typeof(Window), new FrameworkPropertyMetadata
{
DefaultValue = style
});
}
和改变文化的按钮
private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
{
if (x)
{
var selectrCultureInfo = new CultureInfo("Ar-EG");
CultureResources.ChangeCulture(selectrCultureInfo);
FlowDirection = FlowDirection.RightToLeft;
x = false;
EventUserControl.LanguageFlag = false;
Style style = new Style
{
TargetType = typeof(Window)
};
style.Setters.Add(new Setter(Window.FontFamilyProperty, new System.Windows.Media.FontFamily("Traditional Arabic")));
style.Setters.Add(new Setter(Window.FontSizeProperty, 140.0));
FrameworkElement.StyleProperty.OverrideMetadata(typeof(Window), new FrameworkPropertyMetadata
{
DefaultValue = style
});
}
else
{
var selectrCultureInfo = new CultureInfo("EN-US");
CultureResources.ChangeCulture(selectrCultureInfo);
FlowDirection = FlowDirection.LeftToRight;
x = true;
EventUserControl.LanguageFlag = true;
Style style = new Style
{
TargetType = typeof(Window)
};
style.Setters.Add(new Setter(Window.FontFamilyProperty, new System.Windows.Media.FontFamily("Consolas")));
style.Setters.Add(new Setter(Window.FontSizeProperty, 30.0));
FrameworkElement.StyleProperty.OverrideMetadata(typeof(Window), new FrameworkPropertyMetadata
{
DefaultValue = style
});
}
}
但是我收到错误PropertyMetadata已经注册了类型'Window'。任何解决此问题或取消注册和重新注册元数据的想法