저는 Microsoft의 새 WPF 리본 (2010 년 10 월 릴리즈)을 사용하고 있으며 RibbonApplicationSplitMenuItem
으로 내 응용 프로그램 메뉴를 디자인했습니다. 사용자가 RibbonApplicationSplitMenuItem
을 클릭하면 프로그램 설정 대화 상자를 열고 싶습니다. 하위 항목에는 설정 대화 상자의 다양한 탭 페이지에 대한 직접 링크가 포함되어 있으며 선택된 페이지를 선택하여 설정 대화 상자를 열려고합니다.하위 항목이있는 WPF 리본 응용 프로그램 메뉴에서 하위 항목과 부모 콜백을 실행합니다.
<ribbon:RibbonApplicationSplitMenuItem
Header="Settings"
x:Name="SettingsItem"
Click="settingsClicked"
>
<ribbon:RibbonApplicationMenuItem
Header="Scanner Settings"
x:Name="scannerSettingsItem"
Click="scannerSettingsClicked"
/>
<ribbon:RibbonApplicationMenuItem
Header="Printer Settings"
x:Name="printerSettingsItem"
Click="printerSettingsClicked"
/>
</ribbon:RibbonApplicationSplitMenuItem>
내 문제는 사용자가 예를 클릭 할 때입니다. "스캐너 설정"하위 항목 인 경우 먼저 scannerSettingsClicked()
콜백이 실행되고 settingsClicked()
콜백이 발생하여 설정 대화 상자가 닫힌 직후 두 번째로 표시됩니다.
Visual Studio의 WPF 디자이너에서 속성 창은 부모 항목의 콜백 또는 모든 하위 항목을 제거하지 않으면 콜백 구독을 표시하지 않으므로 잘못된 작업을 수행해야합니다.
원하는 동작을 얻으려면 어떻게해야합니까?
scannerSettingsClicked()와 settingsClicked() 사이의 경과 시간을 측정하여이를 "해결"했습니다. 500 밀리 초 미만이면 후속 통화라고 가정하고 아무 것도하지 않습니다. 훌륭하지는 않지만 일을 끝내게됩니다. – Cygon