将来自静态资源的 Canvas 放在 XAML 中的另一个 Canvas 中? WPF/C#

Place a Canvas from a Static Resource in a other Canvas in XAML ? WPF/C#

我有一个 ResourceDictionary,其中 Canvas 定义为 x:Key=nameOfCanvasInResource

如何将它放在另一个 Canvas 中 xaml ???

像这样:

 <Canvas Children="{StaticResource nameOfCanvasInResource}">
 </Canvas>

谢谢:)

使用任何具有 Content 属性

的控件
...
<Window.Resources>
    <Canvas x:Key="ResourceCanvas" x:Shared="False">
        <Rectangle Width="100" Stroke="Red" Height="100"></Rectangle>
    </Canvas>
</Window.Resources>
<Canvas>
    <ContentControl Content="{StaticResource ResourceCanvas}"/>
</Canvas>
...

x:Shared="False" 需要 canvas 的新副本,如果您在多个地方使用它。

您可以像这样简单地使用 StaticResource 标记扩展作为标签:

<Canvas>
    <StaticResource ResourceKey="nameOfCanvasInResource"/>
</Canvas>

这避免了将其包装在额外的 ContentControl 中的需要