使用wpf以最少的资源在屏幕上绘制缩放的背景

使用wpf以最少的资源在屏幕上绘制缩放的背景,wpf,drawing,shape,Wpf,Drawing,Shape,我想在多个窗口上绘制相同的背景,例如,背景可以是同心圆、多色网格或任何数学形状的组合。这些背景可以通过不同模块中的外部例程进行自定义。当我指示外部例程更改背景时,所有窗口都会自动重新绘制自身。唯一的问题是每个窗口可以有不同的大小,这些都是没有任何像素的矢量图形 实现这一目标的最佳方式是什么。我是WPF的新手,非常感谢您的帮助。我认为您可以创建自己的控件,该控件继承自FrameworkElement并重写OnRender方法: protected override void OnRender(Dr

我想在多个窗口上绘制相同的背景,例如,背景可以是同心圆、多色网格或任何数学形状的组合。这些背景可以通过不同模块中的外部例程进行自定义。当我指示外部例程更改背景时,所有窗口都会自动重新绘制自身。唯一的问题是每个窗口可以有不同的大小,这些都是没有任何像素的矢量图形


实现这一目标的最佳方式是什么。我是WPF的新手,非常感谢您的帮助。

我认为您可以创建自己的控件,该控件继承自FrameworkElement并重写OnRender方法:

protected override void OnRender(DrawingContext drawingContext)

使用drawingContext,您可以绘制任何您想要的内容:

我确实查看了绘图上下文,并使用委托提供了绘图例程,但我不知道如何在没有访问正在绘制的控件的情况下调整绘图的大小