我在应用程序功能区菜单中有一个组合框,其中所选项目绑定到应用程序 UI 的主题,如下所示:
MainWindow.xaml 中的主题绑定
Theme="{Binding SelectedItem.Tag, ElementName=_themeCombo}"
和组合框
<ComboBox x:Name="_themeCombo" SelectedIndex="0" Width="200">
<ComboBoxItem Content="Generic" />
<ComboBoxItem Content="Aero">
<ComboBoxItem.Tag>
<xcad:AeroTheme />
</ComboBoxItem.Tag>
</ComboBoxItem>
</ComboBox>
主题选择运行良好,但是,由于 MainWindow.xaml 变得很长,我已将菜单功能区(以及组合框)移动到名为“Ribbon.xaml”的单独 UserControl 文件中,并按如下方式引用它:
<local:Ribbon x:Name="RibbonWin" Grid.Row="0" />
然而,这破坏了我的主题选择的绑定链接。Ribbon.xaml 与 mainwindow.xaml 位于同一命名空间中。
如何为名为“_themeCombo”的功能区组合框提供相对路径?
我尝试将 ComboBox 的完整地址放在(功能区的 inc 类名)中,如下所示,但这不起作用:
Theme="{Binding SelectedItem.Tag, ElementName=DrainageDesign.View.Ribbon._themeCombo}"