将来自静态资源的 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 中的需要
我有一个 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 中的需要