C# 与MVVM wpf的交互

C# 与MVVM wpf的交互,c#,wpf,mvvm,C#,Wpf,Mvvm,我正在使用具有MVVM模式的ComponentOne WPF控件 我的ViewModel中有以下内容: public ICommand ClientsEnter { get { if (this.m_ClientsEnter == null) { this.m_ClientsEnter = new DelegateCommand<string>(ClientsLostFocusExecute, ClientsL

我正在使用具有MVVM模式的ComponentOne WPF控件

我的ViewModel中有以下内容:

public ICommand ClientsEnter
{
    get
    {
        if (this.m_ClientsEnter == null)
        {
            this.m_ClientsEnter = new DelegateCommand<string>(ClientsLostFocusExecute, 
ClientsLostFocusCanExecute);
        }
        return m_ClientsEnter;
    }
}
公共ICommand客户端
{
得到
{
if(this.m_ClientsEnter==null)
{
this.m_ClientsEnter=新的DelegateCommand(ClientsLostFocusExecute,
客户最关注的焦点(已执行);
}
返回m_ClientsEnter;
}
}
和一个可观察的集合:

public ObservableCollection<Client> Clients
{
    get { return m_Clients; }
    set
    {
        m_Clients = value;
        RaisePropertyChanged("Clients");
    }
}
公共ObservableCollection客户端
{
获取{return m_Clients;}
设置
{
m_客户=价值;
RaisePropertyChanged(“客户”);
}
}
在Xaml中,我添加了一个ComponentOne组合框,可以在其中输入ClientName或ID,然后按enter键触发事件以执行ClientsEnter命令:

<Custom1:C1ComboBox  Grid.Row="2" Grid.Column="1" Height="24" Name="cmbClients" 
    HorizontalAlignment="Left" VerticalAlignment="Center" ItemsSource="{Binding 
    Clients, Mode=OneWay}" SelectedValuePath="ClientID" DisplayMemberPath="NameE" 
    IsEditable="True" Text="Enter Client Name Or ID" SelectedValue="{Binding 
    Path=Filter.ClientID, Mode=TwoWay}" MinWidth="150" Margin="0,2" Width="189">
    <i:Interaction.Triggers>
        <ei:KeyTrigger Key="enter"  FiredOn="KeyUp" ActiveOnFocus="True" SourceName=
            "cmbClients">
            <i:InvokeCommandAction Command="{Binding ClientsEnter, Mode=OneWay}" 
                CommandParameter="{Binding Text,ElementName=cmbClients}" 
                CommandName="KeyDown"/>
        </ei:KeyTrigger>
    </i:Interaction.Triggers>
</Custom1:C1ComboBox>

我需要知道为什么它不起作用,按enter键后,clientID消失,什么也没有发生。甚至文本=“输入客户端名称或ID”也不会出现!有什么想法吗?
请注意,当我将键更改为空格时,它可以工作,但它不会从combobox中获取文本,

在花了2天时间研究这个问题后,我发现C1Combobox中有一个bug,因为我用telerik Comboxbox替换了它,并添加了相同的触发器,而没有更改xaml中除控件以外的任何内容,并且工作正常


最后,我不建议使用C1 wpf控件

在花了2天的时间研究这个问题之后,我发现C1Combobox中有一个bug,因为我用telerik Comboxbox替换了它,并添加了相同的触发器,而没有在xaml中更改任何东西,除了控件,它工作正常


最后,我不建议使用C1 wpf控件

是否在用户按Enter键时调用您的命令?在花了2天的时间研究这个问题之后,我发现C1Combobox中有一个bug,因为我用telerik Comboxbox替换了它,并添加了相同的触发器,而没有在xaml中更改任何东西,除了控件,它工作得很好。最后,我不建议使用C1 wpf控件调用您的命令,然后用户按Enter键?在花了2天的时间研究这个问题之后,我发现C1Combobox中有一个bug,因为我用telerik Comboxbox替换了它,并添加了相同的触发器,而没有在xaml中更改任何东西,除了控件,它工作得很好。最后,我不推荐C1 wpf控件