XAML无法从矩形中删除边框

时间:2014-03-17 15:53:56

标签: c# wpf xaml

我试图在xaml / C#中构建聊天气泡类型的对话窗口。

但是,我无法从矩形as seen in this screenshot中删除灰色边框。它应该是矩形和三角形之间的白色。

这里是编写气泡之一的代码:

<Grid Margin="30, 10, 5, 0"
                  local:GridUtils.RowDefinitions=",,">
            <Rectangle Fill="White"
                       Grid.RowSpan="2"/>
            <TextBox Text="{Binding Path=Text}"
                         Style="{StaticResource TextBlockStyle}"/>
            <TextBlock Text="{Binding Path=Timestamp, Converter={StaticResource StringFormatConverter}, ConverterParameter='ddd, HH:mm'}"
                         Style="{StaticResource TimestampStyle}"
                         Grid.Row="1"/>
            <Path Data="m 0,0 l 16,0 l 0,16 l -16,-16"
                    Fill="White"
                    Margin="0,0,5,0"
                    HorizontalAlignment="Right"
                    Grid.Row="2"/>
</Grid>

我尝试过以下方法:

  • 使用白色作为颜色的笔划/ strokethickness
  • 删除网格线
  • 更改z顺序

Google似乎只提供有关创建边框的提示,而不是删除边框。我的代码中没有任何东西应该这样做,它可能是Windows主题吗?

作为参考,here's a screenshot of the same code,但<Rectangle Fill="Red">

1 个答案:

答案 0 :(得分:1)

我刚刚转载到这里。您的三角形有点太低而无法正确连接矩形,因此您看到的灰线是WPF在白色三角形和黑色背景之间的抗锯齿。您可以通过略微抬起三角形来确定负边距:

<Path Data="m 0,0 l 16,0 l 0,16 l -16,-16"
                    Fill="White"
                    Margin="0,-1,5,0"           
                    HorizontalAlignment="Right"
                    Grid.Row="2"/>

如果你不介意别名,可以通过Path关闭RenderOptions.EdgeMode="Aliased"上的抗锯齿。