2013-06-09 4 views
1

Мне нужно установить фон отключенной кнопки.установить фон с отключенной кнопкой?

private void Button1_Click_1(object sender, RoutedEventArgs e)  
{ 
    Button1.IsEnabled = false; 
    var brush = new ImageBrush(); 
    brush.ImageSource = new BitmapImage(new Uri("Images/AERO.png")); 
    Button1.Background = brush; 
} 

Если я это сделаю, у меня отключена кнопка без какого-либо фона. Я искал ответ все утро, и я не получил то, что хочу. Я нашел, как установить фон отключенной кнопки в XAML, но не в C#.

+0

'Я нашел, как установить фон отключенной кнопки в XAML, но не в C#' - элементы UI управляются в XAML в WPF вместе с привязкой данных. Вы не должны манипулировать свойствами элементов пользовательского интерфейса из процедурного кода. –

+0

Итак, как я могу изменить фон моей кнопки, когда программа работает? –

+0

@ ŁukaszZimoń Определите пользовательский стиль в вашем приложении для кнопки «Button», и если вы основываете его на шаблоне по умолчанию, удалите 'ControlTemplate'' Trigger' для 'Property = 'IsEnabled" Value = "False" ' – Viv

ответ

0

Вы не можете сделать это напрямую, но вы можете сделать это как мой следующий код:

XMAL кодекса

<Button Name="button1" Click="button1_Click" > 
    <Image Name="btndisbackground" Visibility="Hidden" VerticalAlignment="Stretch" 
      HorizontalAlignment="Stretch" Source="D:\1.jpg" Stretch="Fill"/> 
</Button> 

кнопка Код

private void button1_Click(object sender, RoutedEventArgs e) 
{ 
    button1.IsEnabled = flase; 
    btndisbackground.Visibility = Visibility.Visible; 
} 
+0

Этот ответ не отвечает на вопрос OP «Мне нужно установить фон отключенной кнопки». Вместо этого он показывает, как программно отключить кнопку. Мне очень любопытно, как будет выполняться ветка 'btndisbackground.Visibility = Visibility.Visisble' (отключенная кнопка не будет поднимать события' click'!) – STLDeveloper

+0

@STLDeveloper: 'Мне очень любопытно, как btndisbackground. Видимость = Видимость. Визуальная ветка будет выполняться каждый раз (отключенная кнопка не будет поднимать события щелчка!) 'Это смешная ошибка :)), он хочет, чтобы фон кнопки изменения был отключен – KF2

+0

У меня есть несколько кнопок, и каждая кнопка должна иметь случайное изображение. По этой причине я установил кнопку фона в кнопке «Код». –

0

Просто Композицию реверса прикажите делать что-то. Сделайте настройки разрешенного состояния кнопки последнее, что вы делаете:

private void Button1_Click_1(object sender, RoutedEventArgs e)  
{ 
    var brush = new ImageBrush(); 
    brush.ImageSource = new BitmapImage(new Uri("Images/AERO.png")); 
    Button1.Background = brush; 
    Button1.IsEnabled = false; 
} 

Это обновит фоновое изображение и затем отключить кнопку.

+1

Я сделал это, и он не работает. –

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