2012-09-18 7 views

答えて

41

これはそれを行うには非常に簡単な方法です。これはスタイルに変更することができ、デザイナーが色やその他のプロパティを簡単に変更できるようにTemplatedControlを作成することにより、柔軟性を高めることができます。

<Button Width="100" 
     Height="100"> 
    <Button.Template> 
     <ControlTemplate TargetType="Button"> 
      <Grid> 
       <Ellipse Stroke="Black" 
         StrokeThickness="2"> 
        <Ellipse.Fill> 
         <RadialGradientBrush> 
          <GradientStop Offset="0" 
              Color="Lime" /> 
          <GradientStop Offset="1" 
              Color="Lime" /> 
          <GradientStop Offset="1" 
              Color="Gold" /> 
          <RadialGradientBrush.Transform> 
           <TransformGroup> 
            <ScaleTransform ScaleY="0.65" /> 
           </TransformGroup> 
          </RadialGradientBrush.Transform> 
         </RadialGradientBrush> 
        </Ellipse.Fill> 
       </Ellipse> 
       <ContentPresenter HorizontalAlignment="Center" 
            VerticalAlignment="Center"/> 
      </Grid> 
     </ControlTemplate> 
    </Button.Template> 
</Button> 
+1

ニース、thx!ただし、テキスト(コンテンツ)は表示できません。 – linquize

+3

そのために私の返信では以下のようにContentPresenterを使用してください。 – ethicallogics

+0

@ethicallics thx!右! – linquize

17
<Button Width="100" Height="100" Content="Abcd"> 
     <Button.Template> 
      <ControlTemplate TargetType="{x:Type Button}"> 
       <Grid> 
       <Ellipse Fill="Red"/> 
        <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/> 
       </Grid> 
      </ControlTemplate> 
     </Button.Template> 
    </Button> 

あなたはそれがサークルであるためには、同じボタンの高さと幅を設定する必要があります。

関連する問題