访问具有CodeBehind的命名ResourceDictionary

时间:2012-09-24 22:02:46

标签: c# .net wpf xaml .net-4.0

我有一个ResourceDictionary我有setup to have codebehind

该代码隐藏还有我需要初始化的数据库中的组合框下拉列表。由于这是一个“视图”级别的对象,我不想直接将它连接到我的“模型”级别对象。

所以,我需要找到一种方法来访问这个对象。问题是这个“类”是由View对InitializeComponent()的调用创建的。所以我不能只把我需要的东西传递给params。

我试图获取资源并将其投射到我的“类”但这不起作用。 (无效演员表)

ResourceDictionary resource = new ResourceDictionary
{
  Source=new Uri("/MyProject;component/MyClass.xaml", UriKind.RelativeOrAbsolute)
};

var myClass = resource as MyClass;
myClass.ListOfItems = listOfItems;

我的最后一招是创建静态方法并以这种方式传递我需要的引用。但这紧紧地结合了这两个阶级。所以我想我会看看是否有更好的方式,任何人都知道...

1 个答案:

答案 0 :(得分:0)

您是否从MyClass继承了您的班级(ResourceDictionary),然后才能投放它?

您也可以尝试

List<MyClass> listOfItem = new List<MyClass>(ResourceDisctionaryCollection);