2012-03-17 14 views
0

XAMLコードのボタンの外観を六角形で修正しています。今、私は下の画像のように、六角形の二つの外側のエッジに2行を追加したい:XAMLで図形に線を追加する

https://skydrive.live.com/redir.aspx?cid=204df65b0e6e1655&resid=204DF65B0E6E1655!117&parid=204DF65B0E6E1655!107&authkey=!AEzKZRmwMNhBWxM

誰がどこでどのようにそれを追加して伝えることができますか?私のコードは、私はラインがこれらのエッジに接続して、ページの最後まですべての方法を広めるために得るカントこの

<Page.Resources> 
    <Style TargetType="Button"> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="Button"> 
        <Canvas> 
         <Polygon Canvas.Top="30" Points= 
        "430,0 
        400,32 
        -30,32 
        -60,0 
        -30,-32 
        400,-32" 
      Stroke="Brown" StrokeThickness="10"/> 
         <ContentPresenter Canvas.Left="80" Foreground="White" FontSize="40"></ContentPresenter> 
        </Canvas> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 
</Page.Resources> 

<Grid Background="Black"> 
    <Grid.RowDefinitions> 
     <RowDefinition /> 
     <RowDefinition /> 
     <RowDefinition /> 
    </Grid.RowDefinitions> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition /> 
    </Grid.ColumnDefinitions> 

    <Button Grid.Row="1" Margin="40,-100 0,-50" HorizontalAlignment="Center">Hello World</Button>  

</Grid> 

のようなものです。

答えて

1

ボタンスタイル内にしますか?私は以下のXAMLボタンコントロールのテンプレートコードでこれを実現できました。

私は区切り記号をグリッドに入れ、その上に長方形を置いて画像にストロークを追加します。
また、矩形に合わせるために、ポリゴンに2の上マージンを追加しました。

<ControlTemplate TargetType="Button"> 
        <Grid> 
         <Grid.ColumnDefinitions> 
          <ColumnDefinition/> 
          <ColumnDefinition Width="500"/> 
          <ColumnDefinition /> 
         </Grid.ColumnDefinitions> 
         <Rectangle Fill="White" Grid.Column="0"/> 
         <Rectangle Fill="White" Grid.Column="2"/> 
         <Separator Background="White" Grid.Column="0"/> 
         <Separator Background="White" Grid.Column="2"/> 
         <Canvas Grid.Column="1" Margin="64,2,0,0"> 
          <Polygon Points= 
       "430,0 
       400,32 
       -30,32 
       -60,0 
       -30,-32 
       400,-32" 
     Stroke="Brown" StrokeThickness="10"/> 
          <ContentPresenter Canvas.Left="80" Foreground="White" FontSize="40"/> 

         </Canvas> 
        </Grid> 
       </ControlTemplate> 
関連する問題