如何从静态资源创建两次图标?

时间:2015-11-17 19:15:30

标签: c# wpf xaml

我在close(svg图标)中有一个资源:

Application.Resources

我试图在多个按钮中使用它:

<Canvas x:Key="IconAdd" Width="48" Height="48">
...

问题是图标只出现在最后一个按钮中。

从这个answer我明白这是因为在WPF中每个Visual只能有一个父级。

我觉得我需要在数据模板上添加一个图标,但在我的情况下如何使用它?

2 个答案:

答案 0 :(得分:1)

您可以尝试使用x:Shared属性。以下是指向SO QuestionMSDN site

的链接

答案 1 :(得分:0)

正如我所料,我需要在数据模板上添加一个图标:

 <DataTemplate x:Key="IconAddTemplate">
     <Canvas Width="48" Height="48">
...

然后我可以这样使用它:

<Button>
    <StackPanel>
        <Viewbox>
            <ContentPresenter ContentTemplate="{StaticResource IconAddTemplate}" />
        </Viewbox>
        <TextBlock>Button text</TextBlock>
    </StackPanel>
</Button>