2016-03-18 10 views
0

Я хочу изменить фон по умолчанию кнопки на всех условиях. Но когда я используюUWP - изменить цвет фона кнопки

button.Background = new SolidColorBrush(Windows.UI.Colors.Red); 

Я получаю красную кнопку и серая кнопка, если кнопка нажата. Я думаю, что я должен изменить стиль кнопки. Но как я могу установить цвет в стиле?

<VisualState x:Name="Pressed"> 
<Storyboard> 
    <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" Storyboard.TargetProperty="Background"> 
     <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlBackgroundBaseMediumLowBrush}" /> 
    </ObjectAnimationUsingKeyFrames> 
    <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="BorderBrush"> 
     <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightTransparentBrush}" /> 
    </ObjectAnimationUsingKeyFrames> 
    <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter" Storyboard.TargetProperty="Foreground"> 
     <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlHighlightBaseHighBrush}" /> 
    </ObjectAnimationUsingKeyFrames> 
    <PointerDownThemeAnimation Storyboard.TargetName="RootGrid" /> 
</Storyboard> 

ответ

0

У вас есть эта анимация:

<ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" Storyboard.TargetProperty="Background"> 
    <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource SystemControlBackgroundBaseMediumLowBrush}" /> 
</ObjectAnimationUsingKeyFrames> 

Вы можете увидеть, что он устанавливает свойство Background для RootGrid до {ThemeResource SystemControlBackgroundBaseMediumLowBrush} значения при нажатии. Просто замените его на свой цвет, и вы хорошо пойдете:

<ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" Storyboard.TargetProperty="Background"> 
    <DiscreteObjectKeyFrame KeyTime="0" Value="Red" /> 
</ObjectAnimationUsingKeyFrames> 
Смежные вопросы