2011-10-10 97 views
0

创建样式的按钮:XAML边框样式

<Style TargetType="{x:Type Button}"> 
     <Setter Property="Background" Value="#8A88E1"/> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="Button"> 
        <Grid> 
         <Ellipse Fill="{TemplateBinding Background}"/> 
         <ContentPresenter HorizontalAlignment="Center" 
         VerticalAlignment="Center"/> 
        </Grid> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 

    </Style> 

就一切OK。现在我想编写将围绕椭圆边界的样式的一部分。

+2

请让你的问题更清楚,没有任何意义。 –

+0

我想创建带有边框的椭圆 – Xaver

回答

2

艾尔诺打我的答案,但这里有一个例子:

<Style TargetType="{x:Type Button}"> 
    <Setter Property="Background" Value="#8A88E1"/> 
    <Setter Property="Template"> 
    <Setter.Value> 
     <ControlTemplate TargetType="Button"> 
     <Grid> 
      <Ellipse Fill="{TemplateBinding Background}" Stroke="..." StrokeThickness="..." /> 
      <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/> 
     </Grid> 
     </ControlTemplate> 
    </Setter.Value> 
    </Setter> 
</Style> 

你应该能够在Stroke绑定到父BorderBrush,但我没有测试过:Stroke="{TemplateBinding BorderBrush}"。但是,您将无法直接将StrokeThickness绑定到父项BorderThickness,因为它们是两种不同的类型(Ellipse.StrokeThickness是统一的,而简单的double值,而Button.BorderThickness的类型是Thickness。)。

1

有两种选择:

  1. 设置椭圆的行程和StrokeThickness或

  2. 模板添加到边境,并在模板中使用的椭圆。

让我知道你是否需要这些帮助。