none
По ресурсам вопрос в App.xaml RRS feed

  • Вопрос

  • Всех с наступающим новым 2012г.

    Вопрос по ресурсам в xaml.

    Что мне надо. Задать значение. Далее в программе мне необходимо изменить данное значение и оно должно поменяться во всех привязанных к нему label.content.

    Что делаю - создал ресурс 

    <my:String x:Key="MeS">fgf</my:String>
    

    в файле App.xaml.

     

    Далее требуемые label.Content привязываю к этому ресурсу динамически.

    Потом в коде на C# пишу 

     

    this.Resources["MeS"] = "tre";
    

     

    Это я так менял ресурс в MainWindow. 

    Вопрос как в C# изменить ресурс в App.xaml. Чтобы сразу всё обновилось во всех Window и usercontrol привязанных к этому ресурсу? Спасибо.

     



    • Изменено developers_s 29 декабря 2011 г. 7:01
    29 декабря 2011 г. 7:00

Ответы

  • Чтобы все элементы управления поняли, что вы поменяли значение, объект должен послать PropertyChanged событие. У строки такого события нет. Как вариант - сделать свой класс (например LocalizedStrings), который будет иметь свойство MeS и реализовывать интерфейс INotifyPropertyChanged. Тогда при изменении этого свойства бы будете бросать событие, что оно изменилось и все элементы, связанные с ним, будут подхватывать изменения.
    • Помечено в качестве ответа Abolmasov Dmitry 30 декабря 2011 г. 9:49
    • Снята пометка об ответе developers_s 3 января 2012 г. 9:06
    • Помечено в качестве ответа developers_s 3 января 2012 г. 9:06
    29 декабря 2011 г. 11:59
    Отвечающий