Google と StackOverflow をよく検索しましたが、問題の解決策はありませんでした。
2 つの Xaml ファイルがあります。
MainWindow.xaml
<Window x:Name="mainWindow">
<Window.DataContext>
<!-- Instantiate ViewModel of the MainWindow -->
<vm:MainWindowViewModel x:Name="viewModel"/>
</Window.DataContext>
<!-- Create the Menu of the MainWindow -->
<custom:MainMenu Grid.Row="0"/>
<ad:DockingManager x:Name="dockingManager">
<!-- ... -->
</Window>
そしてMainMenu.xaml
<UserControl>
<Menu>
<MenuItem Header="{t:Translate MENU_LAYOUT_SAVE}" Command="{Binding SaveLayoutCommand}" CommandParameter="{Binding RelativeSource={RelativeSource AncestorType=Window}}"/>
<MenuItem Header="{t:Translate MENU_LAYOUT_LOAD}" Command="{Binding LoadLayoutCommand}" CommandParameter="{Binding RelativeSource={RelativeSource AncestorType=Window}}"/>
</Menu>
</UserControl>
そしてここで私の問題が発生します。Mainwindow オブジェクトを渡す代わりに、MainWindowx:Name="dockingManager"
から DockingManager を渡したいと思います。しかし、オブジェクトを名前で参照しようとすると失敗します...
私は次のバインディングを試しました:
CommandParameter="{Binding ElementName=dockingManager}"
CommandParameter="{Binding ElementName=dockingManager, RelativeSource={RelativeSource AncestorType=Window}}"
dockingManager
では、xaml 内の ElementTree からオブジェクト () を見つけて参照するにはどうすればよいでしょうか。コード ビハインドで余分なコードを使用したくない。