2016-04-15 10 views
0

Iveはうまく動作するボタンスタイルを作成しましたが、今は丸みのあるコーナーを追加したいと思います。 XAMLを配置します。誰かが私を正しい方向に向けることができますか?私のWPFスタイルでどこに置くのですか?<Border CornerRadius = "8">

<Style x:Key="myButtonStyle" TargetType="{x:Type Button}"> 
    <Setter Property="Foreground" Value="White"/> 
    <Setter Property="Background" Value="Blue" /> 
    <Setter Property="FontWeight" Value="DemiBold"/> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="{x:Type Button}"> 
       <Grid> 
        <Rectangle x:Name="rectangle" Stroke="{TemplateBinding Background}" Fill="{TemplateBinding Background}" RenderTransformOrigin="0.5,0.5"> 
         <Rectangle.RenderTransform> 
          <TransformGroup> 
           <ScaleTransform/> 
           <SkewTransform/> 
           <RotateTransform/> 
           <TranslateTransform/> 
          </TransformGroup> 
         </Rectangle.RenderTransform> 
         <Rectangle.Effect> 
          <DropShadowEffect ShadowDepth="3"/> 
         </Rectangle.Effect> 
        </Rectangle> 
         <ContentPresenter x:Name="contentPresenter" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" RenderTransformOrigin="0.5,0.5"> 
         <ContentPresenter.RenderTransform> 
          <TransformGroup> 
           <ScaleTransform/> 
           <SkewTransform/> 
           <RotateTransform/> 
           <TranslateTransform/> 
          </TransformGroup> 
         </ContentPresenter.RenderTransform> 
         </ContentPresenter> 
       </Grid> 
       <ControlTemplate.Triggers> 
        <Trigger Property="IsFocused" Value="True"/> 
        <Trigger Property="IsDefaulted" Value="True"/> 
        <Trigger Property="IsMouseOver" Value="True"> 
         <Setter Property="Stroke" Value="Black" TargetName="rectangle"/> 
        </Trigger> 
        <Trigger Property="IsPressed" Value="True"> 
         <Setter Property="RenderTransform" TargetName="rectangle"> 
          <Setter.Value> 
           <TransformGroup> 
            <ScaleTransform/> 
            <SkewTransform/> 
            <RotateTransform/> 
            <TranslateTransform X="2" Y="2"/> 
           </TransformGroup> 
          </Setter.Value> 
         </Setter> 
         <Setter Property="RenderTransform" TargetName="contentPresenter"> 
          <Setter.Value> 
           <TransformGroup> 
            <ScaleTransform/> 
            <SkewTransform/> 
            <RotateTransform/> 
            <TranslateTransform X="2" Y="2"/> 
           </TransformGroup> 
          </Setter.Value> 
         </Setter> 
         <Setter Property="Effect" TargetName="rectangle"> 
          <Setter.Value> 
           <DropShadowEffect ShadowDepth="1"/> 
          </Setter.Value> 
         </Setter> 
        </Trigger> 
        <Trigger Property="IsEnabled" Value="False"/> 
       </ControlTemplate.Triggers> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 
+2

この時点でテンプレートをサポートする要素はありません。同じ効果をシミュレートするために 'RadiusX'と' RadiusY'を8に設定することができる 'Rectangle'があります。 –

+2

矩形のRadiusXおよびRadiusYプロパティを設定します。 – Clemens

+0

完璧!私は国境に集中していたので、私はRadiusを使うことを忘れてしまった。ありがとう! – JimDel

答えて

1

これは、あなたも、この時点でそれをサポートするために、テンプレート内の要素を持っていない...

クリスWの答えです。同じエフェクトをシミュレートするためにRadiusXとRadiusYをハードに設定できる長方形があります。

関連する問題