2011-01-24 3 views
6

Я хотел бы быть в состоянии сделать следующее:Определение цвета в качестве статического ресурса

... 
<Grid> 
    <Grid.Resources> 
    <Color x:Key="MyColor">#FFEEDD</Color> 
    <Color x:Key="MyOtherColor">Green</Color> 
    <!-- Use MyColor and MyOtherColor to define other resources... --> 
    </Grid.Resources> 
</Grid> 

К сожалению, я вынужден сделать это вместо:

... 
<Grid> 
    <Grid.Resources> 
    <Color x:Key="MyColor" A="255" R="255" G="238" B="221" /> 
    <Color x:Key="MyOtherColor" A="255" R="0" G="128" B="0" /> 
    <!-- Use MyColor and MyOtherColor to define other resources... --> 
    </Grid.Resources> 
</Grid> 

Потому что, мне кажется, что конвертеры ценности не пинают. Это королевская боль в крупу, и мне было интересно, что я могу сделать, чтобы я мог определить свои цвета символически и по шестнадцатеричному значению?

+0

Я только видел первый путь. Я даже не знал, что вы можете сделать это вторым способом. – Gabe

+0

Похоже, проблема возникла из-за проблемы с сборкой, где разработчик VS2010 не синхронизировался с XAML. Благодаря Meleak для тестирования в отдельном проекте. –

+0

@Gabe: Я изменил его с первого на второй. Я не понимал, что я сделал пересоединение между ними, что фиксировало проблему, которая, по-видимому, была ограничена дизайнером VS2010. Если бы я только что сделал полную перестройку без изменения XAML, это сработало бы первым способом. –

ответ

7

Я не уверен, что понимаю вашу проблему. Я попробовал это, и он работает. Как вы используете свои цветовые ресурсы?

<Grid> 
    <Grid.Resources> 
     <Color x:Key="MyColor">#FFEEDD</Color> 
     <Color x:Key="MyOtherColor">Green</Color> 
    </Grid.Resources> 
    <Rectangle> 
     <Rectangle.Fill> 
      <SolidColorBrush Color="{StaticResource MyColor}"/> 
     </Rectangle.Fill> 
    </Rectangle> 
</Grid> 
+0

Это странно, похоже, сейчас работает. Интересно, это была проблема восстановления. Я постараюсь ответить на ваш ответ и закрыть вопрос. Благодаря... –

Смежные вопросы