locked
Связывание ComboBox со свойствами элементов ObservableCollection<> RRS feed

  • Вопрос

  • Добрый день!

    Имеется:

    class MySuperControl:UserControl

    {

        public String ControlName;

        // много чего еще

    }

    в MainPage собственно коллекция:

    public ObservableCollection<MySuperControl> SuperControlCollection { get; set; }

    Имеется следующий Combobox на странице:


    <ComboBoxx:Name="ComboList"Visibility="Collapsed"



                        

    ItemsSource="{Binding}">

                   

    <ComboBox.ItemTemplate>

                       

    <DataTemplate>

                           

    <TextBox Text="{Binding}"/>                       

                       

    </DataTemplate>

                   

    </ComboBox.ItemTemplate>


    </ComboBox>

    Ну и в конструкторе страницы выполняется

    ComboList.DataContext = SuperControlCollection.

    Собственно сам вопрос: мне надо, что бы в элементах ComboList отображались не MySuperControl,

    а их свойства ControlName. Как Это можно сделать? Что для этого надо прописать в DataTemplate.TextBox Text потому что что бы я не прописывал туда у меня сами то TextBox'ы отображаются но они пустые, а надо что бы в них были соответственные ControlName


    • Изменено __silence 13 июня 2015 г. 20:27
    13 июня 2015 г. 20:23

Ответы

  • Укажите нужное вам имя в {Binding}. Например: {Binding ControlName}

    Чуть расширю, укажите такой Binding у TextBox-а:

    <TextBox Text="{Binding ControlName}"/>    

    И замените поле на свойство:

    class MySuperControl:UserControl
    {
        public String ControlName { get; set; }; 
        // много чего еще
    }

    15 июня 2015 г. 9:09
    Отвечающий
  • Укажите нужное вам имя в {Binding}. Например: {Binding ControlName}


    This posting is provided "AS IS" with no warranties, and confers no rights.

    14 июня 2015 г. 19:47

Все ответы

  • Укажите нужное вам имя в {Binding}. Например: {Binding ControlName}


    This posting is provided "AS IS" with no warranties, and confers no rights.

    14 июня 2015 г. 19:47
  • Укажите нужное вам имя в {Binding}. Например: {Binding ControlName}

    Чуть расширю, укажите такой Binding у TextBox-а:

    <TextBox Text="{Binding ControlName}"/>    

    И замените поле на свойство:

    class MySuperControl:UserControl
    {
        public String ControlName { get; set; }; 
        // много чего еще
    }

    15 июня 2015 г. 9:09
    Отвечающий