我创建了一个位于画布元素的形状:
<Canvas HorizontalAlignment="Left" Width="47" Height="71">
<Polygon Points="25 0 10 43 40 43" Stroke="Black" Fill="Orange" Height="45" Canvas.Left="0" Canvas.Bottom="0" Width="47"></Polygon>
<Ellipse Height="20" Width="20" Stroke="Black" Fill="Black" Canvas.Bottom="45" Canvas.Left="15"></Ellipse>
</Canvas>
当我点击Button时,它应该在另一个Canvas容器中创建这样一个元素!
如何在我的代码中多次重用这个构造的Shape而不在XAML中多次写入它?
我已经阅读了有关模板和样式的内容。但我无法真正熟悉我的问题。因为我想在运行时创建这个形状。
答案 0 :(得分:0)
你可以在像这样的资源中声明Polygon
<Window.Resources>
<Polygon x:Key = "Poly" Points="25 0 10 43 40 43" Stroke="Black" Fill="Orange" Height="45" Canvas.Left="0" Canvas.Bottom="0" Width="47"/>
</Window.Resources>
然后你可以像这样使用它
<ContentControl Content="{StaticResource Poly}"/>
同样你可以做到
<Window.Resources>
<Canvas HorizontalAlignment="Left" Width="47" Height="71" x:Key="MyShape">
<Polygon Points="25 0 10 43 40 43" Stroke="Black" Fill="Orange" Height="45" Canvas.Left="0" Canvas.Bottom="0" Width="47"></Polygon>
<Ellipse Height="20" Width="20" Stroke="Black" Fill="Black" Canvas.Bottom="45" Canvas.Left="15"></Ellipse>
</Canvas>
</Window.Resources>
<ContentControl Content="{StaticResource MyShape}"/>