将XAML中的静态资源中的画布放置在其他画布中? WPF/C#
问题描述:
我有一个用x定义的画布的ResourceDictionary:Key = nameOfCanvasInResource将XAML中的静态资源中的画布放置在其他画布中? WPF/C#
如何将它放在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"
需要画布的新副本,如果你在使用它的控制几个地方。
答
您可以简单地使用StaticResource
标记扩展的标记,像这样:
<Canvas>
<StaticResource ResourceKey="nameOfCanvasInResource"/>
</Canvas>
这样就无需将它包装在一个额外的ContentControl中