Как привязать к ресурсу "x: static" в коде позади в WPF - PullRequest
4 голосов
/ 26 августа 2009

Для некоторых пользовательских элементов управления у меня есть эта привязка:

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

Это работает для элементов управления, которые объявлены / созданы в XAML. Тем не менее, у меня есть элемент управления, который создается только динамически (он не будет использоваться регулярно, поэтому я не хочу, чтобы экземпляр (на самом деле до 3) сожрал память все время. Теперь, если я не ' Мне чего-то не хватает, я должен объявить свои привязки в коде позади. Это прекрасно работает, когда у меня есть простой (ElementName + Path), но в приведенном выше случае я не могу понять, как написать это в коде позади .

Конечно, в данном конкретном случае элемент управления может просто ссылаться на My.Application.ApplicationLanguage, но попытка сделать это все равно заинтересовала меня. Я выполнил большое количество запросов и не смог найти ничего похожего (хотя это могут быть мои ключевые слова для поиска.:))

1 Ответ

5 голосов
/ 26 августа 2009

x:Static просто разрешает член static для вас, поэтому вы можете написать как:

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

Тем не менее, я не понимаю, почему вы думаете, что вам нужно сделать это в коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...