WPF中的路径标记语法

时间:2011-01-07 19:38:01

标签: c# .net wpf user-controls

我使用此代码来定义两个四分之一圆圈:

<Grid Width="300" Height="300" Margin="50" Background="White">
        <Grid.RowDefinitions>
            <RowDefinition Height="*"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <Path Name="Test1" Stroke="Black" StrokeThickness="5" s:Contacts.ContactDown="Test1_PreviewContactDown" s:Contacts.PreviewContactDown="Test1_PreviewContactDown" Data="M25,0 A25,25 90 0 1 50,25 l-25,0 Z" Fill="Orange" Grid.Row="0" Grid.Column="1" Stretch="Fill"/>
        <Path Name="Test2" s:Contacts.ContactDown="Test2_PreviewContactDown" s:Contacts.PreviewContactDown="Test2_PreviewContactDown" Data="M50,25 A25,25 90 0 1 25,50 l0,-25 Z" Fill="Red" Grid.Row="1" Grid.Column="1" Stretch="Fill" />

        <Ellipse Fill="Transparent" Stroke="Black" Grid.ColumnSpan="2" Grid.RowSpan="2"/>
        <Ellipse Fill="White" Stroke="Black" StrokeThickness="5"  Width="100" Height="100" Grid.ColumnSpan="2" Grid.RowSpan="2"></Ellipse>
    </Grid>

现在我想扩展这段代码,这样我就不用两个四分之一圆圈覆盖半个圆圈,而是想要有6个圆弧段,每个圆圈都是30度。我怎样才能做到这一点?我真的无法理解Path Markup Syntax

1 个答案:

答案 0 :(得分:1)

我同意上面的VoodooChild,你最好的选择是使用像Expression Blend这样的视觉设计师。您可以从Microsoft获得免费试用版。您只需创建所需的路径,然后将生成的XAML复制到您正在创作的任何页面中。

另外,做了一点谷歌搜索,我发现了这个:

http://marlongrech.wordpress.com/2008/01/10/jasema-the-xamlpadx-plugin-for-building-path-geometry/

这看起来像是XAMLPadX的免费路径构建器插件。我自己没有尝试过,但足以说没有使用工具就没有神奇的简单方法在WPF中制作路径。