Меню приложения ленты WPF с подпунктами выполняет подпункт И родительский обратный вызов - PullRequest
0 голосов
/ 23 ноября 2010

Я использую новую ленту Microsoft WPF (выпуск за октябрь 2010 г.), и я разработал меню своего приложения с RibbonApplicationSplitMenuItem.Если пользователь нажимает на RibbonApplicationSplitMenuItem, я хочу открыть диалоговое окно настроек программы.Подпункты содержат прямые ссылки на различные вкладки в диалоге настроек, и я хочу открыть диалог настроек с выбранной выбранной страницей.

<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(), в результате чего диалоговое окно настроек отображается во второй раз сразу после его закрытия.

Окна свойств вWPF-дизайнер Visual Studio также отказывается показывать подписки обратного вызова, если только не удалить обратный вызов родительского элемента или всех подпунктов, поэтому я полагаю, что я должен что-то делать неправильно.

Как мне добиться желаемого поведения?

1 Ответ

1 голос
/ 03 декабря 2010

В событиях щелчка вашего подпункта установите e.Handled = true, чтобы предотвратить возврат пузыря события к родительскому элементу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...