Cannot find a Resource with the Name/Key(找不到名称/键为的资源)
本文介绍了找不到名称/键为的资源的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用Silverlight 4工具包对用户界面进行单元测试。
当我尝试实例化UserControl时,它引发异常,因为在UserControl的XAML中,它使用定义的App.xaml样式。
有没有办法在实例化UserControl之前以某种方式加载资源?我是不是走错了路?以下是单元测试代码:
[TestMethod]
public void ExerciseTimePeriodUserInterface()
{
CustomUserControls.TimePeriodFilter timePeriodFilter = new CustomUserControls.TimePeriodFilter();
}
下面是对UserControl中的样式的引用:
<Border Style="{StaticResource FilterBorderWrapper}">
最后,下面是App.xaml:
中定义的样式 <Style TargetType="Border" x:Key="FilterBorderWrapper">
<Setter Property="Background" Value="#F1F5FB" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="BorderBrush" Value="#CBD9E9" />
<Setter Property="CornerRadius" Value="2" />
<Setter Property="Margin" Value="2" />
</Style>
推荐答案
如果您的所有资源都放入资源词典中。您可以简单地创建应用程序实例并将该字典添加到资源中。请看样品:
Application _app = new Application();
ResourceDictionary dictionary = new ResourceDictionary();
dictionary.Source = new Uri("pack://application:,,,/Gui.Mvvm;component/Themes/YourResourceDictionary.xaml");
_app.Resources.MergedDictionaries.Add(dictionary);
对于我的WPF应用程序,这工作得很好。在编写了这段代码之后,我能够测试我的模板选择器、数据模板选择器等等。在代码隐藏调用中使用的所有代码
Application.Current.FindResource()
效果很好。
这篇关于找不到名称/键为的资源的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
编程基础网
本文标题为:找不到名称/键为的资源
基础教程推荐
猜你喜欢
- Moq It.Is<>不匹配 2022-01-01
- 禁止输入少量字符,例如'<'、'&a 2022-01-01
- WPF 模态进度窗口 2022-01-01
- 如何使用 .Net 检查 Active Directory 服务器是否已启动并正在运行? 2022-01-01
- 我应该在后面的代码中直接使用 Linq To SQL 还是使 2022-01-01
- 如果有人提交恶意软件Nuget包怎么办? 2022-01-01
- .NET SerialPort DataReceived 事件未触发 2022-01-01
- 当值可以是对象或空数组时反序列化 JSON 2022-01-01
- C# 从 List<List<int>> 中删除重 2022-01-01
- Azure Functions:CosmosDBTrigger 未在 Visual Studio 中触发 2022-01-01
