2012-02-27 33 views
1

我刚开始使用WPF,因此请随身携带。如何在WPF中为相同元素类型设置多个窗口资源样式

我有一个元素在我的窗口,如下图:

<Grid>   
    <DockPanel LastChildFill="True"> 
     <Label Name="StatisticsLabel" DockPanel.Dock="Bottom"></Label> 
     <RichTextBox Style="{StaticResource FocusMode}" Name="RichTextBox1" />    
    </DockPanel> 
</Grid> 

我想在运行时根据我所需要的控制是在状态的两种风格之间SWITH

我假设我可以使用下面的代码:

<Window.Resources> 
    <Style x:Name="FocusMode" TargetType="RichTextBox"> 
     <Setter Property="VerticalScrollBarVisibility" Value="Disabled"></Setter> 
    </Style> 
    <Style x:Name="NormalMode" TargetType="RichTextBox"> 
     <Setter Property="VerticalScrollBarVisibility" Value="Auto"></Setter>    
    </Style> 
</Window.Resources> 

当然这是行不通的。

为什么WPF不支持每个元素的多个样式?看起来像一个非常基本的要求?

否则,我该如何做到这一点?

谢谢。

+0

你好,Shenku,在我看来,这只是一种完美的触发器应用程序。当你说你想根据你需要控制的状态来改变你的风格时,什么给你提供你需要的状态的信息? – 2012-02-29 12:19:32

回答

1

对不起它了,而不是X:名称使用X:重点如下:

<Window.Resources> 
<Style x:Key="FocusMode" TargetType="RichTextBox"> 
    <Setter Property="VerticalScrollBarVisibility" Value="Disabled"></Setter> 
</Style> 
<Style x:Key="NormalMode" TargetType="RichTextBox"> 
    <Setter Property="VerticalScrollBarVisibility" Value="Auto"></Setter>    
</Style> 

相关问题