如何在WPF中的代码隐藏中绑定到“x:static”资源

时间:2009-08-26 12:58:09

标签: wpf

对于某些用户控件,我有这个绑定:

AppLanguage="{Binding Path=ApplicationLanguage, Source={x:Static Application.Current}}"

这适用于在XAML中声明/实例化的控件。但是,我有一个只能动态实例化的控件(它不会被定期使用,所以我不想让一个实例(实际上最多3个)一直吞噬内存。现在,除非我'我缺少一些东西,我必须在代码隐藏中声明我的绑定。当我有一个简单的(ElementName + Path)时工作正常,但在上面的例子中,我无法弄清楚如何在代码隐藏中编写它

当然,在这种特殊情况下,控件可以简单地引用My.Application.ApplicationLanguage,但尝试这样做无论如何都让我很好奇。我做了大量的搜索,找不到类似的东西(虽然可能是我的搜索关键字。:))

1 个答案:

答案 0 :(得分:5)

x:Static只为您解析static会员,因此您可以写为:

var binding = new Binding("ApplicationLanguage");
binding.Source = Application.Current;

那就是说,我不遵循为什么你认为你需要在代码中这样做。