Я пытаюсь изменить ToggleButton
Команда, когда она cahnges это IsChecked
собственности. Мой XAML выглядит так:ToggleButton trigger on IsChecked
<ToggleButton Content="Profile" Command="{Binding Path=ShowProfileMappingCommand}" CommandParameter="{Binding Path=ProfileMappingParameter}">
<ToggleButton.Style>
<Style TargetType="ToggleButton">
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Command" Value="{Binding Path=ShowProfileMappingCommand}" />
</Trigger>
<Trigger Property="IsChecked" Value="False">
<Setter Property="Command" Value="{Binding Path=HideProfileMappingCommand}" />
</Trigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
</ToggleButton>
К сожалению, это не работает. Мой Commands
никогда не вызывается. Любые идеи, почему это может быть так?
Почему вы не просто передаете свойство 'Bool IsChecked' в качестве параметра команды? Похоже, вы слишком смущаетесь этим, имея 2 разных команды, IMO; –
Вы можете создать свойство в своей ViewModel с именем IsChecked. Затем в XAML привяжите свойство IsChecked объекта ToggleButton к свойству IsChecked в вашей ViewModel. В заданной части свойства проверьте значение = true. Таким образом, вся логика попадает в setter в свойство, с которым элемент управления связан с ViewModel. – kformeck
@HighCore Хорошая точка. Я подумаю об этом. –