У меня есть кнопка, действие которой может занять много времени. Является асинхронным методом, поэтому я не блокирую пользовательский интерфейс, но также хотел бы отключить кнопку, чтобы избежать возможности выполнить еще одно действие.Как установить цвет фона на отключенную кнопку конвертером?
Для этого я отключил кнопку, и я меняю ее фон, чтобы показать, что действие, которое выполняется, - это действие, которое я запускаю, когда я нажимаю эту кнопку.
У меня есть конвертер, потому что в моей модели просмотра у меня есть свойство bool, которое устанавливает, было ли действие запущено или если действие закончено. Чтобы преобразовать этот bool в фоновый цвет, я использую конвертер.
Ну, проблема в том, что если я отключил кнопку, невозможно установить фон с помощью конвертера.
Я хотел бы знать, как я могу это сделать, отключить кнопку и изменить обратный отсчет с помощью конвертера.
Мой код на мой взгляд, модель
private async void componentesAsignar()
{
Bussy = true; //need for the converter, to set the background
MyActionStarted = true; //need to disabled the button
await Task.Delay(10000); //the code that takes many time
}
Мой код на мой взгляд
<Button Content="MyAction" Height="23" Name="btnMyAction" Width="75"
Background="{Binding MyActionStarted, Converter={StaticResource actionInProgressToColorConverter}}">
Мой конвертер
object IValueConverter.Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if(((bool)value) == false)
{
return "#FFDDDDDD";
}
else
{
return "#FF589FF3";
}
}
Спасибо так много.
Как вы отключив кнопку? –
Почему бы вам не поставить DataTrigger на Bussy на вашу кнопку, поэтому, когда он равен True, вы отключите его и измените его фон? – nkoniishvt