Взаимодействия ComponentOne Combobox с MVVM

Я работаю с элементами управления ComponentOne WPF с шаблоном MVVM.

У меня есть следующее в моей ViewModel:

 public ICommand ClientsEnter
        {
            get
            {
                if (this.m_ClientsEnter == null)
                {
                    this.m_ClientsEnter = new DelegateCommand<string>(ClientsLostFocusExecute, ClientsLostFocusCanExecute);
                }
                return m_ClientsEnter;
            }
        }

И наблюдаемая коллекция:

 public ObservableCollection<Client> Clients
        {
            get { return m_Clients; }
            set
            {
                m_Clients = value;
                RaisePropertyChanged("Clients");
            }
        }

в 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="Tab"  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>

Мне нужно знать, почему он не работает, после нажатия ввода clientID исчезает и ничего не происходит. Даже text="Enter Client Name Or ID" не появляется! Любые идеи?


person Hatem Ahmed Gamil    schedule 21.08.2013    source источник


Ответы (1)


Потратив 2 дня на изучение этой проблемы, я обнаружил, что в C1Combobox есть ошибка, поскольку я заменил его на Telerik Comboxbox и добавил тот же триггер, не меняя ничего в xaml, кроме элемента управления, и он отлично работает.

наконец, я не рекомендую элементы управления C1 wpf

person Hatem Ahmed Gamil    schedule 24.08.2013