我的程序基本是用StackPanel或者Canvas来定位置的,而每个StackPanel都有好几个label、textbox等空间.现在希望不同的StackPanel内的定义不同的style(现在主要想定义fontsize字体大小),因为StackPanel没有fontsize属性,所以只能在每个label、textbox上定义,这样不方便,因为都有好多个,不知道style可以实现某个name下的label都统一属
性???

解决方案 »

  1.   


     <Style TargetType="TextBox" >
          <Setter Property="FontSize" Value="16" />
     </Style>如上,你可以指定TargetType为你要使用的控件,Setter后的Property表示将FontSize这个属性值,设为Value指定的数值。
      

  2.   

                <Style TargetType="{x:Type TextBlock}" x:Key="TextBlockStyle">
                    <Setter Property="FontSize" Value="12"/>
                    <Setter Property="FontFamily" Value="Segoe UI"/>
                    <Setter Property="FontWeight" Value="Bold"/>
                    <Setter Property="Foreground" Value="#7B97AC"/>
                </Style>
    用的时候:
            <TextBlock x:Name="TestTextBlock" Style="{StaticResource TextBlockStyle}">
                ABC</TextBlock>
      

  3.   

    这样不就是每个控件都要输入x:Name="TestTextBlock" Style="{StaticResource TextBlockStyle}"这句???不能统一设置?在父控件设置让子控件都继承??
      

  4.   

    你将Style设定在App的Resource,或者你主窗口Window.Resource里,就是整个所有TargetType指向的控件都会使用这个style。
      

  5.   

    x:Name不需要的
    你也可以忽略掉x:Key="TextBlockStyle"这句
    这样你所有的textbox都是这个样式
      

  6.   


    我不需要所有的都是这样,我只需要某个panel内的textbo统一一个style,可以???