2014-01-20 5 views
0

커스텀 WPF 버튼에 문제가 있습니다 - 클릭 할 때마다 클릭 이벤트를 받지만 토글되지 않습니다 (다른 버튼을 클릭하면 다운되지 않음). 내가 생각할 수있는 모든 것을 시도했지만 여전히 작동시키지 못합니다.WPF 토글 버튼

내가 알아 차린 이상한 점은 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; 
} 

도움 말? :)

+1

ToggleButton 컨트롤이 이미 IsChecked 속성을 변경합니까? 나는 전에 그걸로 일한 적이 없어요. 당신의 사건이 그 행동을 뒤집어 쓰고있는 것 같아요. –

+0

실제로 문제가 해결되었습니다. 그러나 그것은 실제로 작동하지 않습니다 - 내 버튼 - 1 - 버튼을 체크하면 나머지는 체크되지 않은 상태로 토글합니다. 이벤트 처리기를 사용하고 여전히 작동하도록하는 방법이 있습니까? 문제의 실제 이유는 무엇입니까? (저는 WPF를 처음 사용합니다). 고마워요! :) – Ross

답변

2

@ Nick은 자신의 설명에서 이벤트 처리기 PreviewMouseDown="ToggleButton_MouseDown_1"을 완전히 제거 했으므로 잘 작동합니다.

그렇지 않은 경우 문제를 일으키는 다른 코드가 있어야합니다.

+0

실제로 문제가 해결되었습니다. 그러나 그것은 실제로 작동하지 않습니다 - 내 버튼 - 1 - 버튼을 체크하면 나머지는 체크되지 않은 상태로 토글합니다. 이벤트 처리기를 사용하고 여전히 작동하도록하는 방법이 있습니까? 문제의 실제 이유는 무엇입니까? (저는 WPF를 처음 사용합니다). 고마워요! :) – Ross