Задача:
Требуется по нажатию одной кнопки заменить её на другую и наоборот.
Написал такие стили для двух кнопок:
<Style x:Key="FindAppButtonStyle" TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Type Button}}">
<Setter Property="IsEnabled" Value="True"/>
<Setter Property="Visibility" Value="Visible"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=StopSearch, Path=Visibility}" Value="Hidden">
<Setter Property="Visibility" Value="Visible"/>
<Setter Property="IsEnabled" Value="True"/>
</DataTrigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Visibility" Value="Hidden"/>
<Setter Property="IsEnabled" Value="False"/>
</Trigger>
</Style.Triggers>
</Style>
<Style x:Key="StopSearchButtonStyle" TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Type Button}}">
<Setter Property="Visibility" Value="Hidden"/>
<Setter Property="IsEnabled" Value="False"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=FindApp, Path=Visibility}" Value="Hidden">
<Setter Property="Visibility" Value="Visible"/>
<Setter Property="IsEnabled" Value="True"/>
</DataTrigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Visibility" Value="Hidden"/>
<Setter Property="IsEnabled" Value="False"/>
</Trigger>
</Style.Triggers>
</Style>
По нажатию кнопки поиска, мельком видно, как она скрывается и появляется кнопка остановки, а потом обратно становится видимой. А события нажатия для этих кнопок вообще не срабатывают.
В чём дело?
Ваша ошибка в том, вы в разметке пытаетесь решить вопрос, который, по хорошему, надо решать в ViewModel
. Сделайте в вашей VM
два свойства StopSearchVisibility
и FindAppVisibility
типа bool
и к ним уже привяжите ваши кнопки.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Допустим, были сгенерированы Классы-сущности и мне захотелось расширить какую-то сущность дополнительными полями(Например, вспомогательными...
В моем ListView с кнопками по непонятной мне причине, не хочет работать скролл Вот Listview
ЗдравствуйтеЯ хочу с помощью Unit Test проверить, или моя функция правильно работает и не знаю как заменить блок if-else?