Я попробовал твой ToggleButton, и он работает нормально.Единственная проблема, которую я вижу с этим, состоит в том, что вы устанавливаете Command явно.Это должно быть сделано с Setter
вместо этого (как вы сделали с Content
), чтобы не сломать Trigger
.
<ToggleButton Name="toggleButton" Margin="0,3" Grid.Row="3" Grid.ColumnSpan="2">
<ToggleButton.Style>
<Style TargetType="{x:Type ToggleButton}">
<Setter Property="Content" Value="Select All"/>
<Setter Property="Command"
Value="{Binding DataContext.SelectAllCommand,
Mode=OneWay,
RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"/>
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Content" Value="Select None"/>
<Setter Property="Command" Value="{Binding DataContext.SelectNoneCommand, Mode=OneWay, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"/>
</Trigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
</ToggleButton>
Если вы все еще не можете нажать на него, я бы проверилесли IsHitTestVisible
или подобное установлено на False
дальше вверх по дереву визуалов.
Если вы хотите сравнить свою версию с моим тестовым приложением, чтобы увидеть, что не работает, я загрузил ее здесь: http://www.mediafire.com/?ik24ftsfw2wwfwb