对于某些用户控件,我有这个绑定:
AppLanguage="{Binding Path=ApplicationLanguage, Source={x:Static Application.Current}}"
这适用于在XAML中声明/实例化的控件。但是,我有一个只能动态实例化的控件(它不会被定期使用,所以我不想让一个实例(实际上最多3个)一直吞噬内存。现在,除非我'我缺少一些东西,我必须在代码隐藏中声明我的绑定。当我有一个简单的(ElementName + Path)时工作正常,但在上面的例子中,我无法弄清楚如何在代码隐藏中编写它
当然,在这种特殊情况下,控件可以简单地引用My.Application.ApplicationLanguage,但尝试这样做无论如何都让我很好奇。我做了大量的搜索,找不到类似的东西(虽然可能是我的搜索关键字。:))
答案 0 :(得分:5)
x:Static
只为您解析static
会员,因此您可以写为:
var binding = new Binding("ApplicationLanguage");
binding.Source = Application.Current;
那就是说,我不遵循为什么你认为你需要在代码中这样做。