Как привязать данные из класса Static к Xaml - PullRequest
2 голосов
/ 13 января 2011

У меня есть статический класс, в котором одно свойство определяет менеджер ресурсов. например

public static class MyClass
{
public static MyResourceManager {get;set;}
}

Я хочу связать ключ от менеджера ресурсов с XAML. Я использую Silverlight 4 с шаблоном MVVM.

Если я сделаю что-то вроде этого:

<Button Content="{Binding LocalResource.Refresh}"/>

где LocalResource определен в моей модели представления следующим образом:

public object LocalResource {
get
{
return MyClass.MyResourceManager;
}
}

Может кто-нибудь предложить лучший подход. Я сделал класс статическим, так как файл ресурсов загружается динамически. Я загружаю его в загрузчик и должен использовать его во всех моих модулях.

1 Ответ

2 голосов
/ 13 января 2011

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

<Application xmlns:myNS="clr-namespace:MyNamespace;assembly=MyAssembly" ...>
    <Application.Resources>
        <myNS:MyResourceManager x:Key="MyResources" />
    </Application.Resources>
</Application>

Затем вы можете использовать его, как обычный ресурс WPF:

<Button Content="{Binding Source={StaticResource MyResources}, Path=Refresh}" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...