2012-01-06 15 views
1

テキストボックスとドロップダウンがほとんどないスクリーン(Screen1.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> 

などのなどの幅、高さ、フォントサイズなどのプロパティでのスタイルファイル(stylesheet.xaml)を作成している、私は動的に変更したいですいくつかの条件に応じてコントロールのプロパティ。コードビハインドで何かをやってみたいと思っています。助けてください。

+0

新しいスタイルリソースを適用することは重要ですか、VisualStateManagerは必要なものを提供しますか? – terphi

答えて

0

スタイルを選択してコードビハインドで変更することができます。私はスタイルを変更するには、今読んで :

// 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では、すべてのコントロールのプロパティを変更する可能性があります。(

関連する問題