0

WPF ウィンドウに複数のコンボボックスがあります。それぞれが ViewModel から取り込まれます。オートコンプリートを実装しようとしています。WPF コンボボックスとテレリック コンボボックスを使用してみました。コンボボックスに入力できないため、オートコンプリート機能が機能しているかどうかをテストすることさえできません。バックスペースとスペースバーしか使えません。IsEditable を true に設定しています。私が見逃している非常に基本的なものはありますか?

コンボボックスの 1 つからの私の xaml

<DockPanel Style="{StaticResource DockPanelStyle}">
                                <Label Content="Model" DockPanel.Dock="Top"/>
                                <telerik:RadComboBox x:Name="cboModel" DockPanel.Dock="Bottom" Width="100"  ItemsSource="{Binding Path=Models}"
                                         ItemTemplate="{StaticResource ComboBoxCustomTemplate}"  IsEditable="True" StaysOpenOnEdit="True"
                                         telerik:TextSearch.TextPath="value"/>
</DockPanel>

上記の DockPanel は、グリッド内にあるスタックパネル内にあります。

ここに私のViewModelからの関連コードがあります

  public void LoadModels()
        {
            try
            {
                List<CommonData.Model> model = factory.GetStaticModels();
                foreach (CommonData.Model m in model)
                {
                    Models.Add(new CommonData.Model()
                    {
                        value = m.value
                    });
                }
            }
            catch (Exception ex)
            {
                //leaving this out
            }
        } 

private List<CommonData.Model> _models = new List<CommonData.Model>();
        public List<CommonData.Model> Models
        {
            get
            {
                return _models;
            }
            set
            {
                _models = value;
                OnPropertyChanged("Models");
            }
        }

そして最後に、これは私のモデルクラスです(MVVMモデルではなく、クラスの名前はモデルです)

【連載可能】

    public class Model
    {
        private string models;
        public string value
        {
            get;
            set;
        }
    }

ヘルプ/提案は大歓迎です。私はWPFに非常に慣れていないため、非常に基本的なものが欠けているように感じますが、これに3〜4日かなりの時間を費やしたため、今ではかなりばかげています。

4

1 に答える 1

0

標準コンボボックスの IsTextSearchEnabled = "True"

于 2013-11-03T21:14:12.547 に答える