首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >控制DynamicResource引用的选项是什么?

控制DynamicResource引用的选项是什么?
EN

Stack Overflow用户
提问于 2013-12-27 05:54:28
回答 1查看 152关注 0票数 0

让我们假设,我们希望创建一个UserControl,并使它能够被调用者样式化。

在这种情况下,我们有哪些选择?

  1. 据我所知,我们可以在DynamicResources的xaml中使用UserControl。
  2. 我们可以公开一些DPs并将UserControl的元素绑定到它们。

有时,当我使用UserControl时,我会遇到这样的情况,但它不能在屏幕上呈现。如果发生这种情况,我将开始探索解决方案,并尝试了解UserControl找不到哪些资源。

这导致了大量的时间损失。

我们怎样才能避免这些麻烦呢?

我看到的一个解决方案是在这些UserControls中编写一些代码,这些代码使用DynamicResources试图找到所需的资源并抛出异常。它可以简化调试。

我们在解决方案中拥有的资源越多,我们就越头疼。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-27 06:10:06

您应该使用依赖项属性,然后控件的使用者/宿主可以通过声明方式或编程方式将动态资源绑定到它们。

不要自己去寻找动态资源,这会在您的控件中引入一个依赖项,相反,您应该使用所提供的内容。如果您没有得到任何信息,则可以默认为内置样式。

唯一需要考虑默认使用外部定义的动态资源的情况是,当您有了一个非常复杂的控件(比如数据网格),并且还提供主题程序集(就像控件供应商那样)时。除此之外,使用DP方法对您来说更易于管理和更容易编写文档。无论如何,如果找不到动态资源,就不应该抛出异常。如果您正在以编程方式查找资源,但未能找到该资源,则有一个默认设置。如果在XAML中以声明方式绑定到动态资源源,则如果找不到正常绑定错误,则让它发生,或者使用代理依赖项属性和数据触发器相结合。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20795572

复制
相关文章

相似问题

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