日期:2014-05-17  浏览次数:21396 次

WPF,请问BorderThickness属性
在标准的ScrollBar模板中,看到一段关于RepeatButton的样式,实在看不懂,帮忙解释一下:

<RepeatButton...>
   <RepeatButton.Style>                                   
     ...
     ...                                       
     <Setter Property="Border.BorderThickness">
       <Setter.Value>
          <Thickness>1,1,1,1</Thickness>
       </Setter.Value>
     </Setter>

   ...
   ...
</RepeatButton….>

代码中,红色部分设置了BorderThickness属性,可是为什么是写的:Border.BorderThickness呢?
难道此地方设置的不是RepeatButton的BorderThickness属性吗?

------解决方案--------------------
<RepeatButton BorderThickness="3">
            <Setter Property="Border.BorderThickness">
                <Setter.Value>
                    <Thickness>1,1,1,1</Thickness>
                </Setter.Value>
            </Setter>
        </RepeatButton>

这里的Border.BorderThickness跟RepeatButton BorderThickness的BorderThickness,不是一回事。BorderThickness是BorderThickness的属性,边框厚度。而Border.BorderThickness是引用的资源字典里的属性。
比如:
 <Style x:Key="CircleButtonStyle" TargetType="{x:Type Button}">
        <Setter Property="Border.BorderThickness" Value="1,1,1,1" />
 </Style>