gpt4 book ai didi

wpf - 自动建议组合框-MVVM

转载 作者:行者123 更新时间:2023-12-03 10:14:08 24 4
gpt4 key购买 nike

当我向组合框添加属性IsEditable="True"时,它会自动收到“自动完成” 行为。

有没有一种方法可以将“自动建议”行为添加到此组合框?

我的意思是,在组合框中编写内容时会打开带有上述标题的选项列表。

(如果可能=不破坏MVVM)

最佳答案

干得好

我尝试使用标准组合框和动画添加自动提示类型的行为

<ComboBox IsEditable="True">
<ComboBoxItem>Orange</ComboBoxItem>
<ComboBoxItem>Apple</ComboBoxItem>
<ComboBoxItem>Banana</ComboBoxItem>
<ComboBoxItem>Cherry</ComboBoxItem>
<ComboBox.Triggers>
<EventTrigger RoutedEvent="TextBoxBase.TextChanged">
<BeginStoryboard>
<Storyboard>
<BooleanAnimationUsingKeyFrames Storyboard.TargetProperty="IsDropDownOpen">
<DiscreteBooleanKeyFrame Value="True" KeyTime="0:0:0"/>
</BooleanAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</ComboBox.Triggers>
</ComboBox>

试试看,让我知道这是否是您想要的,更复杂的行为可能需要额外的努力

为组合项添加建议过滤器

a
<ComboBox IsEditable="True"
ItemsSource="{Binding ComboItems}"
Text="{Binding ComboText,Mode=OneWayToSource}">
<ComboBox.Triggers>
<EventTrigger RoutedEvent="TextBoxBase.TextChanged">
<BeginStoryboard>
<Storyboard>
<BooleanAnimationUsingKeyFrames Storyboard.TargetProperty="IsDropDownOpen">
<DiscreteBooleanKeyFrame Value="True"
KeyTime="0:0:0" />
</BooleanAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</ComboBox.Triggers>
</ComboBox>

查看模型

public ICollectionView ComboItems{ get; set; }

public string ComboText
{
get
{
throw new NotImplementedException();
}
set
{
ComboItems.Filter = item => item.ToString().ToLower().Contains(value.ToLower());
}
}

您可能需要根据商品类型进行过滤,以上是针对字符串值的

初始化ComboItems

var myItems = new[] { "Apple", "Orange", "Cherry", "Banana" };
ComboItems = CollectionViewSource.GetDefaultView(myItems);

用您的收藏替换我的物品

关于wpf - 自动建议组合框-MVVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24350097/

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