0

在我当前的 wpf 项目中,我使用 C# 制作了一个加载页面的方法,因此当您选择它时,它将从源代码中提取内容,divtable您所愿,当您首先需要从列表框中进行选择时喜欢加载本地文件以提取,或者您想从互联网加载页面。

然后我想到了一个想法,如果通过互联网选​​择自动完成,这将有助于用户,因为我学习了如何在 asp.net WebForms 中实现它,它并不复杂,因为我可以使用 ajax 来定位 asp:TextBox。但需要能够通过 Wpf 完成。

1)是否有可以将我的应用程序绑定为数据源的 url 列表源?

2)只是在搜索该 url 列表时考虑了一下:我如何实现自动完成,是否可以使用与 asp.net 相同的方法,使用 ajax 或其他一些简单的实现?

4

1 回答 1

2

使用WPF Toolkit中的 AutoCompleteBox :

<Page x:Class="WPFApplication.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:toolkit="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Input.Toolkit">

    <toolkit:AutoCompleteBox x:Name="autocompleteCtrl"
        Populating="autocompleteCtrl_Populating" />
</Page>
  1. 您可以通过为 ItemSource 指定预定义列表来获取任何类型的数据源:

    autocompleteCtrl.ItemsSource = new List<string>{"asd","abs","vfr"};
    
  2. 或者动态构建Populating事件处理的自动完成列表:

    private void autocompleteCtrl_Populating(object sender, PopulatingEventArgs e)
    {
        string text = autocompleteCtrl.Text;
    
        //build list
        var list = new List<string>();
        autocompleteCtrl.ItemsSource = candidates;
        autocompleteCtrl.PopulateComplete();
    }
    
于 2012-11-27T00:59:32.720 回答