我有一个覆盖 OnRender-Method 的 UserControl,如下所示:
我的用户控件.cs:
MyUserControl: UserControl
{
protected override void OnRender(DrawingContext dc)
{
dc.DrawRectangle(Brushes.White, new Pen(Brushes.Black,1), new Rect(0,10,50,30));
var visualBrush = new VisualBrush(new UserControl1{Height=30, Width=50});
dc.DrawGeometry(visualBrush, null, new RectangleGeometry(new Rect(50,10,50,30)));
}
}
上面使用的 UserControl 看起来像这样(在 xaml 中定义,没有额外的代码隐藏代码):
<UserControl x:Class="VisualBrushExample.UserControl1" ...>
<Grid>
<Border BorderThickness="1" BorderBrush="Black" Background="White" CornerRadius=8,0,0,8"/>
</Grid>
</UserControl>
现在,如果我使用 MyUserControl,我会得到以下输出:
我现在的问题是,如果有一种方法可以在 OnRender() 方法中使用 UserControl1,而不需要在 UserControl1-Rectangle 周围设置透明边框。
提前致谢, rhe1980