c # / UWP Могу ли я связать комбинированный список с определенной «колонкой» в наблюдаемой коллекции - PullRequest
0 голосов
/ 26 июня 2018

Я хочу связать свой комбинированный список с «колонкой» в моей наблюдаемой коллекции.

            private ObservableCollection<IUList> _ius = new ObservableCollection<IUList>();
                    public ObservableCollection<IUList> IUs
                    {
                        get
                        {
                            return _ius;
                        }
                        set
                        {
                            _ius = value;
                            RaisePropertyChanged("IUs");
                        }
                    }

            public class IUList
                    {

                        public string Identifier { get; set; }


                        public string SourceTrackNumber { get; set; }


                        public string TrackBlockStart { get; set; }


                        public string TrackBlockEnd { get; set; }

                        public IUList(string id, string stn, string tbs, string tbe)
                        {
                            this.Identifier = id;
                            this.SourceTrackNumber = stn;
                            this.TrackBlockStart = tbs;
                            this.TrackBlockEnd = tbe;

                        }

                    }

Я хочу, чтобы мой комбо-бокс был заполнен всеми "Идентификаторами" в моей наблюдаемой коллекции. Я просто не знаю, как этого добиться. Любая помощь приветствуется.

c # / UWP Можно ли связать комбинированный список с определенной «колонкой» в наблюдаемой коллекции

Ответы [ 2 ]

0 голосов
/ 27 июня 2018

Вы также можете написать код combobox xaml следующим образом:

<ComboBox x:Name="comboBox" Width="200" DisplayMemberPath="Identifier"/>
0 голосов
/ 27 июня 2018

Да, это легко сделать в uwp / wpf, используя привязку данных. Но вы должны внимательно прочитать код ItemTemplate.

Вы можете написать код xaml следующим образом:

<ComboBox x:Name="comboBox">
            <ComboBox.ItemTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding Identifier}"/>
                </DataTemplate>
            </ComboBox.ItemTemplate>
        </ComboBox>

Тогда в .cs коде

        //Add data
        IUList list1 = new IUList("1", "1", "1", "1");
        IUList list11 = new IUList("11", "1", "1", "1");
        IUList list111 = new IUList("1111", "1", "1", "1");
        IUList list1111 = new IUList("11111", "1", "1", "1");

        ObservableCollection<IUList> ius = new ObservableCollection<IUList>();
        ius.Add(list1); ius.Add(list11); ius.Add(list111); ius.Add(list1111);

        //Bind source
        comboBox.ItemsSource = ius;

Готово! Тогда вы увидите

enter image description here

...