2010-07-20 2 views
0

Surface 애플리케이션에서 작업 중이고 여러 버튼이 동시에 눌려지는 문제가 있습니다.WPF의 버튼에서 멀티 터치를 사용하지 않도록 설정하는 가장 좋은 방법은 무엇입니까?

몇 가지 버튼이있는 메뉴 컨트롤이 있습니다. 그들 중 일부는 호스팅 윈도우가 메뉴 컨트롤을 페이드 아웃하고 다른 것을 실행하게하는 명령에 바인딩되어 있으며, 일부는 메뉴 컨트롤의 다른 뷰 상태를 통해 사라지는 EventTriggers에 연결됩니다. 문제는 서페이스에서 동시에 10 개의 버튼을 눌러도 괴물 효과가 발생하므로 무제한으로 누르거나 페이드 애니메이션이 완료 될 때까지 컨트롤의 모든 버튼을 비활성화하고 둘 이상을 방지 할 수 있다는 것입니다. 버튼을 누르면 눌려진 상태가됩니다.

깔끔한 아이디어 또는 모든 터치 입력과 상태 머신을 수동으로 처리해야합니까?

답변

2

사용자 정의 명령에 결합하는 경우에 당신은

false 

버튼이 수 누르지하게 돌아

bool CanExecute 

를 통해이를 제어 할 수 있습니다. 명령이없는 사람들은 전통적으로 다루어 져야합니다.

+0

소리가 좋은 생각입니다. 나는 제자가 결국 나를 도와야한다는 것을 알았습니다 ... :) 나는 미래에 대한 그 정신적 인 메모를 할 것입니다. 이 경우에는 대부분 명령 바인딩 된 단추가 있지만 단추 나 두 개가있어 동일한 컨트롤에서 다른 것으로 페이드 애니메이션을 트리거합니다. 지금은 거의 보이지 않는 필터 격자 뒤에있는 버튼을 숨기기 위해 불투명도 애니메이션을 사용합니다. 배경이 "# 017F7F7F"이고 불투명도가 0 인 컨트롤을 숨기는 데 사용하는 변환기가 있습니다. 가시성 = "{불투명도, RelativeSource 바인딩 {{정적 속성 소스}, 변환기 = {StaticResource opacityToVisibility}}" 작동합니다 –

+0

다른 질문에 세부 정보를 추가합니다 나중에 게시하겠습니다. –

관련 문제