2011-10-10 193 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. 模板添加到邊境,並在模板中使用的橢圓。

讓我知道你是否需要這些幫助。