首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将UserControl用作ResourceDictionary

将UserControl用作ResourceDictionary
EN

Stack Overflow用户
提问于 2017-05-17 16:27:53
回答 2查看 328关注 0票数 0

是否可以在不为ResourceDictionary使用额外文件的情况下,在另一个UserControl中使用我在中定义的资源。

我有一个UserControl "ViewCostumers“,在中我定义了一个包含所有客户ListView的DataTemplate。现在,我编写了一个UserCotnrol "ViewOverview“,其中将出现相同的ListView。如果可能的话,我希望将LsitView保存在"ViewCostumer“文件中。

提前感谢

编辑:我尝试做的是将DataTempalte/ListView保留在原始文件中。然后,我想从另一个文件(如资源字典,只有ViewCostumer是UserControl)中引用该文件(它是一个UserControl):

代码语言:javascript
复制
< ResourceDictionary> 
< ResourceDictionary.MergedDictionaries>         
< ResourceDictionary Source="View/ViewCostumer.xaml" /> 
< /ResourceDictionary.MergedDictionaries>
< /ResourceDictionary>
EN

回答 2

Stack Overflow用户

发布于 2017-05-17 18:09:03

是否可以在另一个UserControl中使用我在中定义的资源,而无需为ResourceDictionary使用额外的文件。

不,它不是。毕竟,这正是ResourceDictionaries的用途。

我想将资源保存在原始文件中(这是一个UserControl)。

如果您打算在除此特定UserControl之外的任何其他控件中使用资源,则不能也不应该使用。如果您打算在任何其他控件中使用一个资源,那么在UserControl中定义该资源是没有意义的。

您应该做的是在ResourceDictionary中定义公共资源,然后按照@Ephraim的建议将其合并到两个控件中。

票数 1
EN

Stack Overflow用户

发布于 2017-05-17 16:39:44

您可以将资源移动到Application作用域。

请查看Creating and Consuming Resource Dictionaries in WPF and Silverlight,特别是将资源移动到应用程序范围

其思想是将资源移动到Application.xaml中,以便可以在整个应用程序中使用。

Application.xaml

代码语言:javascript
复制
<Application 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    x:Class="ResourceDictionaryDemo.App"
    xmlns:my="clr-namespace:System;assembly=mscorlib">
    <Application.Resources>
        <LinearGradientBrush x:Key="formBackground" EndPoint="0.5,1" StartPoint="0.5,0">
            <GradientStop Color="Blue" Offset="0" />
            <GradientStop Color="#460000FF" Offset="1" />
        </LinearGradientBrush>
        <my:String x:Key="applicationTitle">Resource Dictionary Demo</my:String>
        <my:Double x:Key="applicationTitleFontSize">18</my:Double>
        <SolidColorBrush x:Key="applicationTitleForeground">Yellow</SolidColorBrush>
    </Application.Resources>
</Application>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44019459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档