2016-01-20 6 views
1

Я хочу установить Background Brush для окна, используя Переплет. Проблема в том, что мне нужно получить доступ к Resource, чтобы сделать это, что означает, что свойство Background должно быть установлено после Resources.XAML - привязка к кисти с использованием элемента

<Window.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="../../Resources/Global.xaml" /> 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</Window.Resources> 
<Window.Style> 
    <StaticResource ResourceKey="Style.Dialog" /> 
</Window.Style> 
<Window.Background> 
    <Binding Source="Severity" Converter="{StaticResource Converter.SeverityTypeToColor}" /> 
</Window.Background> 

Приведенный выше код не работает, и я не могу найти что-либо в Интернете.

Как связать Background после Resources?

+0

Хорошо, так получилось, что все это произошло потому, что конвертер получал «серьезность» вместо значения свойства Severity. Я изменил атрибут от Source to Path, и он сработал. –

ответ

0

Использование DynamicResource

Чтобы установить фон окна, ссылки на ColorBrush с привязки DynamicResource. Получил быстрый тест на следующее, отлично работал. Убедитесь, что привязка к фону на самом деле является ColorBrush, а не цветом.

<Window 
     .... skipping namespace and other references ... 

    Title="MainWindow" 
    Background="{DynamicResource MyBackgroundBrush}" > 

    <Window.Resources> 
     <ResourceDictionary> 
      <ResourceDictionary.MergedDictionaries> 
       <ResourceDictionary Source="Resources.xaml" /> 
      </ResourceDictionary.MergedDictionaries> 

     </ResourceDictionary> 
    </Window.Resources> 
    <!-- rest of the xaml --> 
</Window> 
+0

Это не отвечает на мою проблему. У меня есть привязка, а не ресурс, который мне нужен для ссылки на получение фона (и вы не можете использовать DynamicResource для конвертера). –

0

ОК так получается, что все это произошло потому, что преобразователь получал "Severity" прошел в вместо значения Severity собственности. Я изменил атрибут от Source до Path, и он сработал.

например.

<Binding Path="Severity" Converter="{StaticResource Converter.SeverityTypeToColor}" /> 
Смежные вопросы