我创建了一个屏幕(Screen1.xaml),它几乎没有文本框和下拉菜单。由于所有文本框的属性都是相同的,我创建了一个样式文件(stylesheet.xaml),其中包含宽度、高度、字体大小等属性
<Style x:Key="TextBox.Base" TargetType="Control" BasedOn="{StaticResource TextBlock.Base}">
<Setter Property="Width" Value="250"/>
<Setter Property="FontSize" Value="10"/>
<Setter Property="Height" Value="15"/>
<Setter Property="FontFamily" Value="Arial"/>
</Style>
现在,我想根据某些条件动态更改控件的属性。我想通过在代码后面做一些事情来实现这一点。请帮忙。
您可以选择一种样式并在代码后面进行更改。根据你将其纳入项目的方式,有几种方式:
// the style defined in the app.xaml (you need a key)
Style globalStyle = Application.Current.Resources["Key"] as Style;
// the style defined for a control (you need its key)
UserControl control = ...
Style controlStyle = control.Resources["Key"] as Style;
// the current style of the control
Style currentStyle = control.Style;
更改样式如下:
style.SetValue(UserControl.FontSizeProperty, (float)10);
编辑:正如我现在所读到的,更改样式只会影响WPF中使用它的所有控件。在Silverlight中,您可以更改所有控件的属性:(