命令绑定不适用于第二个窗口/视图



我有一个WPF应用程序,它有两个窗口作为视图(MVVM(。在第一个视图中,命令的绑定效果很好,尽管在第二个视图中命令不会触发(两个窗口都访问相同的视图模型(。它们是否绑定到按钮或关键事件等并不重要。我注意到一件事;在属性框中,命令绑定在命令文本框中不可见,尽管我想应该是这样。

另一件事需要注意:在第一个视图点击按钮后,第二个窗口/视图将显示+第一个窗口仍然可见。数据内容也将委托给第二个视图。

这里是我的代码序列:

<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:vm="clr-namespace:Lobpreis.ViewModels"
xmlns:Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Classic" x:Class="Lobpreis.Views.LiederlisteView"
mc:Ignorable="d"
Title="LiederlisteView" WindowStyle="SingleBorderWindow" Height="450" Width="800" >
<Window.DataContext>
<vm:ShellViewModel/>
</Window.DataContext>
<Window.InputBindings>
<KeyBinding Key="Down" Command="{Binding PressKeyDown}" />
<KeyBinding Key="Up"  Command="{Binding PressKeyUp}" />
</Window.InputBindings>
<Grid > etc...

这就是我处理数据内容传输的方式:

LiederlisteView MeineLiederlisteView = new LiederlisteView();
MeineLiederlisteView.DataContext = this;
MeineLiederlisteView.ShowDialog();
MeineLiederlisteView.Focus();

您试图将第二视图的DataContext绑定到第一视图,而不是第一视图的DataContext。

尝试更换

MeineLiederlisteView.DataContext = this;

带有

MeineLiederlisteView.DataContext = this.DataContext;

相关内容

  • 没有找到相关文章

最新更新