网格中2个形状之间不需要的重叠/间隙?表达混合

时间:2013-07-13 13:24:14

标签: xaml user-interface wpf-controls expression-blend blend

在表达式Blend中,我正在尝试创建一个切出一个角的矩形按钮,当调整按钮大小时,切角应该保持不变。我相信最好的方法是创建3个形状(2个矩形形状和1个三角形路径)并将它们组合在一个网格中。我也把中风设定为无。

然而,在形状之间存在轻微(但明显)的间隙/重叠,留下它们连接的线。当填充具有alpha应用(我需要设计)时,问题就变得明显了。

你能看看代码并看看问题是什么(在我把它变成控件之前它当前只是一个网格)。或者也许有一种更好的方法来创建这个带有切角的矩形按钮(切角不会调整大小)。

    <Grid HorizontalAlignment="Left" Margin="0" VerticalAlignment="Top" MinWidth="350" MinHeight="60">
        <Grid.ColumnDefinitions>
            <ColumnDefinition/>
            <ColumnDefinition Width="17"/>
            <ColumnDefinition Width="5"/>
        </Grid.ColumnDefinitions>
        <Grid Grid.Column="1" Margin="0">
            <Grid.RowDefinitions>
                <RowDefinition Height="17"/>
                <RowDefinition/>
            </Grid.RowDefinitions>
            <Path Data="M0.5,0.5 L16.5,16.5 0.5,16.5 z" Stretch="Fill" Width="17" Height="17">
                <Path.Fill>
                    <SolidColorBrush Color="#7F000000"/>
                </Path.Fill>
            </Path>
            <Rectangle Margin="0" Grid.Row="1">
                <Rectangle.Fill>
                    <SolidColorBrush Color="#7F000000"/>
                </Rectangle.Fill>
            </Rectangle>
        </Grid>
        <Rectangle>
            <Rectangle.Fill>
                <SolidColorBrush Color="#7F000000"/>
            </Rectangle.Fill>
        </Rectangle>
    </Grid>

0 个答案:

没有答案