Программная настройка стиля из App.xaml - PullRequest
0 голосов
/ 09 января 2012

Я создал новый элемент управления Calendar в коде:

  Calendar calendar = new Calendar();

Я хотел бы установить его CalendarDayButtonStyle со стилем, который определен в моем app.xaml

  calendar.CalendarDayButtonStyle = ...

Но яне знаю как это сделатьТакже у меня нет доступа к «FindResource», который, как я видел, используют другие люди.(Я нахожусь внутри ICommand, поэтому у меня нет доступа к этому методу) Есть ли другие способы?

Ответы [ 2 ]

5 голосов
/ 09 января 2012

Вы можете использовать Application.Current.FindResource.

3 голосов
/ 10 января 2012

Это довольно просто ...

Создание ResourceDictionary в вашем приложении

App.xaml

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/AssemplyOfResource;Component/Resource.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

Извлечение вашего стиля в коде

CodeBehind

  object resource = Application.Current.FindResource("KeyName");
  if (resource != null && resource.GetType() == typeof(Style))
      calendar.Style = (Style)resource;

Большинство людей, которых вы увидите, просто используют Application.Current.FindResource ("KeyName") и приводят его, что нормально, за исключением случаев, когда графический дизайнер решает связываться с ResourceDictionaries.Это приведет к сбою приложения.

Если вам нужен какой-то конкретный пример посещения Calandar:

Журнал MSDN Настройка новых элементов управления календаря WPF

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