У меня проблема с пользовательской кнопкой WPF - всякий раз, когда я нажимаю на нее, она получает событие click, но, похоже, не переключается (не останавливается, когда я нажимаю на другую кнопку). Я пробовал все, о чем я могу думать, и до сих пор не могу заставить его работать.WPF togglebutton
Одна странная вещь, которую я заметил, заключается в том, что, когда я помещал точку останова в обработчик MouseDown и просто нажимал F5, чтобы продолжить в этот момент, кнопка переключается и остается внизу. Это заставляет меня думать, что это какой-то фокус-вопрос?
<ToggleButton Name="ToggleButton" PreviewMouseDown="ToggleButton_MouseDown_1" IsThreeState="False">
<StackPanel Orientation="Vertical">
<Label Content="Single" FontSize="15" FontWeight="Medium"/>
<Label Content="Speaker"/>
</StackPanel>
</ToggleButton>
private void ToggleButton_MouseDown_1(object sender, MouseButtonEventArgs e)
{
ToggleButton.IsChecked = !ToggleButton.IsChecked;
}
private void ToggleButton_MouseDown_1(object sender, MouseButtonEventArgs e)
{
ToggleButton.IsChecked = !ToggleButton.IsChecked;
}
Помощь? :)
Контролирует ли элемент управления ToggleButton свойство IsChecked? Я не работал с этим раньше, я просто предполагаю, что ваши события меняют поведение. –
Это действительно устранило проблему. Однако это не работает в моем случае - см. - я использую эти кнопки (по 2 или 3 за раз) в собственном контроле, где, если вы проверяете 1 кнопку, она переключает остальное на непроверенное состояние. Есть ли способ иметь обработчики событий и все еще работать? Какова фактическая причина проблемы? (Я новичок в WPF). Спасибо! :) – Ross