2016-02-17 2 views
4

Я работаю над приложением UWP в окнах 10. Попытка изменить цвет фона кнопки на событии клика. Я искал в интернете об этом, но не мог помочь. Это мой код. если у кого-то есть идея, как это сделать. Поделись, пожалуйста.Как изменить цвет фона кнопки в универсальных приложениях для платформы Windows?

private void button1_1_Click(object sender, RoutedEventArgs e) 
    { 
     if (_Sign) 
     { 
      button_1_1.Content = "Cross"; 
      _Sign = false; 
     } 
     else 
     { 
      // button_1_1.Background = new SolidColorBrush(new Windows.UI.Color)  

      //indows.UI.Colors clr = new Windows.UI.Colors(new SolidColorBrush red); 

      // SolidColorBrush color = new SolidColorBrush(); 
      // color = new SolidColorBrush. 
      // button_1_1.Background = clr; 

      button_1_1.Content = "Tick"; 
      _Sign = true; 
     } 
    } 
+1

Вы могли бы лучше удачи делать это в XAML, а не код позади. [Этот поток] (http://stackoverflow.com/questions/25414686/wpf-changing-button-background-on-click) может помочь. – PoweredByOrange

+0

да, это хорошо, но мне нужно изменить цвет кода C#, поскольку я работаю над другим сценарием. – Ammar

ответ

5

Используйте предустановленные цветовые объекты из Colors properties:

button_1_1.Background = new SolidColorBrush(Windows.UI.Colors.White); 
+0

Кажется, что SolidColorBrush больше не существует в UWP? – user3437460

1

Вы можете сделать только что

button1.SetValue(BackgroundProperty,new SolidColorBrush(Windows.UI.Colors.Black)); 

Вы можете играть с этим! Я не на своем компьютере, чтобы проверить его, но что-то подобное работает.

или вы можете попробовать

button1.Background = new SolidColorBrush(Windows.Ui.Colors.Black); 
+1

"BackgroundPropert *** y ***" и "U *** I ***". Просто упомянуть, чтобы люди могли копировать/вставлять без ошибок. – RareNCool

0

Вы также можете обеспечить различный цвет

SolidColorBrush mySolidColorBrush = new SolidColorBrush(); 
    mySolidColorBrush.Color = Color.FromArgb(0, 255, 244, 244); 
button1.Background = mySolidColorBrush; 

U нужно просто преобразовать Цветовой код для Argb:

return new SolidColorBrush(
       Color.FromArgb(
        255, 
        Convert.ToByte(hexaColor.Substring(1, 2), 16), 
        Convert.ToByte(hexaColor.Substring(3, 2), 16), 
        Convert.ToByte(hexaColor.Substring(5, 2), 16) 
       ) 
      ); 

его очень легко и надлежащим, потому что вы можете дать любой цвет не цвет по умолчанию, как черный, оранжевый и т.д.

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