在WPF中具有MVVM的ListItem上单击鼠标双击

在WPF中具有MVVM的ListItem上单击鼠标双击,wpf,xaml,mvvm,binding,command,Wpf,Xaml,Mvvm,Binding,Command,我想在双击任何列表项时显示对话框。但是程序的流程永远不会进入ShowTextCommand属性。我得到了名字的列表(这很好),但我无法得到对话框。这是我的XAML: <ListView ItemsSource="{Binding List}" > <ListView.ItemTemplate> <DataTemplate> <TextBlock Text="{Binding Na

我想在双击任何列表项时显示对话框。但是程序的流程永远不会进入ShowTextCommand属性。我得到了名字的列表(这很好),但我无法得到对话框。这是我的XAML:

<ListView  ItemsSource="{Binding List}"  >
        <ListView.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding Name}">
                    <TextBlock.InputBindings>
                        <MouseBinding MouseAction="LeftDoubleClick"  Command="{Binding ShowTextCommand, UpdateSourceTrigger=PropertyChanged}"></MouseBinding>
                    </TextBlock.InputBindings>
                </TextBlock>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>
以及视图模型

 private ICommand command;
    public ICommand ShowTextCommand
    {
        get
        {
            if (command == null)
                command = new EnterTextCommand(this);
            return command;
        }
 internal void EnterText()
    {
        MessageBox.Show("Event Success");
    }

有人能帮忙吗

您的
数据模板
找不到
命令
,请使用
ElementName
绑定指定该命令的完整路径

<ListView  ItemsSource="{Binding List}"  x:Name="MainList">
        <ListView.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding Name}">
                    <TextBlock.InputBindings>
                        <MouseBinding MouseAction="LeftDoubleClick"  Command="{Binding DataContext.ShowTextCommand, UpdateSourceTrigger=PropertyChanged,ElementName=MainList}"></MouseBinding>
                    </TextBlock.InputBindings>
                </TextBlock>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>

<ListView  ItemsSource="{Binding List}"  x:Name="MainList">
        <ListView.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding Name}">
                    <TextBlock.InputBindings>
                        <MouseBinding MouseAction="LeftDoubleClick"  Command="{Binding DataContext.ShowTextCommand, UpdateSourceTrigger=PropertyChanged,ElementName=MainList}"></MouseBinding>
                    </TextBlock.InputBindings>
                </TextBlock>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>