gpt4 book ai didi

c# - 与MVVM WPF的交互

转载 作者:行者123 更新时间:2023-12-03 10:37:54 25 4
gpt4 key购买 nike

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

我的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触发Event以执行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”也不会出现!有任何想法吗?
请注意,当我将键更改为空格时,它可以工作,但不会从组合框中获取文本,

最佳答案

在花了2天的时间调查这个问题之后,我发现C1Combobox中存在一个错误,因为我用telerik Comboxbox替换了它,并添加了相同的触发器,而未更改xaml中的控件,但它工作正常。

最后,我不推荐C1 wpf控件

关于c# - 与MVVM WPF的交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18393286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com