繁体   English   中英

引用相同StaticResource的ContentControl仅渲染资源一次

[英]ContentControls referencing the same StaticResource only render the resource once

我在ResourceDictionary中有一个资源:

<Viewbox x:Key="Icons.Profile">
    <Canvas Width="76" Height="76" Clip="F1 M 0,0L 76,0L 76,76L 0,76L 0,0">
        <Path Width="40.7907" Height="33.55" Canvas.Left="16.2093" Canvas.Top="22.2" Stretch="Fill" Fill="#FFFFFFFF" Data="F1 M ... "/>
    </Canvas>
</Viewbox>

如果我添加两个引用StaticResource的Buttons / Content Controls,那么最后呈现的那个似乎呈现出“Icon”

<Button Content="{StaticResource Icons.Profile}" />

有谁知道为什么以及如何解决这个问题? 在Visual Studio和Blend中,正在为所有控件呈现内容。

这是因为元素只能有1个逻辑父元素,但是您可以将资源设置为x:Shared="false" ,这将为每次使用创建/呈现一个新元素。

例:

<Viewbox x:Key="Icons.Profile" x:Shared="false">
    <Canvas Width="76" Height="76" Clip="F1 M 0,0L 76,0L 76,76L 0,76L 0,0">
        <Path Width="40.7907" Height="33.55" Canvas.Left="16.2093" Canvas.Top="22.2" Stretch="Fill" Fill="#FFFFFFFF" Data="F1 M ... "/>
    </Canvas> 
</Viewbox>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM