uwp AutoSuggestBox ItemsSource 不起作用

问题描述 投票:0回答:1

我创建了一个简单的 UWP 应用程序。我想要的是,每当用户单击 AutoSuggestBox 时,它都需要将 ItemsSource 中的所有项目显示为建议。当我设置 DisplayMemberPath 时,组合框工作正常,但单击时 AutoSuggestBox 不会将 ItemsSource 显示为建议。 (本例当我点击AutoSuggestBox时,需要显示ABC、BCD)

xaml:MainPage.xaml

<StackPanel Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Center">
        <ComboBox Width="120"
                  ItemsSource="{Binding TestList,Mode=OneWay}"
                  SelectedIndex="0"
                  DisplayMemberPath="Name"/>

        <AutoSuggestBox Width="200"
                        Margin="0,20,0,0"
                        ItemsSource="{Binding TestList,Mode=OneWay}"
                        DisplayMemberPath="Name"
                        TextMemberPath="Name"
                        PlaceholderText="Search"/>
    </StackPanel>

背后代码:MainPage.xaml.cs

public class Test
    {
        public string Name { get; set; }
        public int Id { get; set; }
    }
    /// <summary>
    /// An empty page that can be used on its own or navigated to within a Frame.
    /// </summary>
    public sealed partial class MainPage : Page
    {
        private List<Test> _testList;
        public List<Test> TestList
        {
            get
            {
                _testList = new List<Test>();
                _testList.Add(new Test()
                {
                    Name = "ABC",
                    Id = 1,
                });
                _testList.Add(new Test()
                {
                    Name = "BCD",
                    Id = 2,
                });
                return _testList;
            }
        }

        public MainPage()
        {
            this.InitializeComponent();
            this.DataContext = this;
        }
    }
xaml uwp autosuggest
1个回答
0
投票

在这种情况下,当我点击AutoSuggestBox时,它需要显示ABC,BCD

请参阅 AutoSuggestBox 文档, 表示一个文本控件,当用户使用键盘或笔(使用墨迹和手写识别)输入文本时,该控件向用户提供建议。它将根据输入过滤您的数据。然后,将过滤后的数据设置为 AutoSuggestBox 的

ItemsSource
来更新建议列表。 因此,下拉列表仅在您键入时呈现。当您单击
AutoSuggestBox
时,它不会显示下拉列表。

对于这种情况,最佳实践是使用

ComboBox
来替换。

© www.soinside.com 2019 - 2024. All rights reserved.