我有一些XAML来绘制徽标,我想在其他各种XAML文件中重新使用它(它没有UI并且不需要代码)。 Logo XAML的顶层是Canvas
项目。ResourceDictionary元素或UserControl?
要在其他XAML文件中使用该徽标,最好将此徽标定义为ResourceDictionary
中的元素或创建UserControl
?
这似乎很容易与UserControl
,但我想用XamlReader加载我的XAML文件,所以我宁愿使用资源,以便这些可以在XAML中指定。似乎有可能将诸如Canvas
之类的项目存储在ResourceDictionary
中,但我不确定如何引用它们。
例如,我可以定义我的标志作为ResourceDictionary
元素如下:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Canvas x:Name="LayoutRoot" x:Key="Logo">
<!-- My Logo -->
</Canvas>
</ResourceDictionary>
但如何我可以在其他XAML文件中使用此Logo
- 也许我有关于资源错误的想法?
我不认为风格是要走的路,我的标志太复杂,不能转换为风格(即> 250行的XAML) – 2010-01-12 18:48:32
这是为风格找到的。如果你担心,但是,你可以使用用户控件。 – 2010-01-12 21:02:50
在一个ResourceDictionary中添加处理程序,这个处理程序连接到应用程序的其余部分也是稍微有些尴尬,而usercontrol是一切照旧的。 – Epirocks 2017-08-18 11:24:03