Silverlight: Как связать с ресурсом, который определен как ресурс usercontrol в коде - PullRequest
2 голосов
/ 24 января 2011

У меня есть строковое значение, которое я определил как ресурс в конструкторе пользовательских элементов управления

public void usercontrolClas()
{
    this.Resources.Add("stringState", "foo");
}

Я пытаюсь получить доступ к этой строке как к StaticResource в XAML дочернего элемента управления пользователя вышеUserControl.

<Button Content={.... ,ConverterParameter={StaticResource stringState}"/>

Однако это не работает.Это работает, если я добавляю ресурс в Application.Resources, но у меня есть некоторое состояние, которое является экземпляром, специфичным для usercontrol, и, следовательно, должно быть ограничено областью usercontrol.Anyde

1 Ответ

0 голосов
/ 24 января 2011

{StaticResource} не будет работать здесь.Как только вы свяжете его, используя {StaticResource}, изменения ресурса не будут отражены.А в вашем случае ресурс даже не существует, пока вы не создадите его после UserControl InitializeComponent() метода.

Чтобы это работало, вам потребуется {DynamicResource}.Но, к сожалению, в данный момент он недоступен в WP7 Silverlight.

Другой способ - создать Attached Property или Custom Behavior, чтобы обойти это ограничение.

УчебникиПоведения:

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