powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Программно выбрать значение в ComboBox
11 сообщений из 11, страница 1 из 1
Программно выбрать значение в ComboBox
    #39063231
FullKettle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изучаю WPF и не разберусь. В WinForms проще простого, а тут....
Есть ComboBox.
Код: xml
1.
 <ComboBox Name="cmbMainList" Margin="5,5,5,5" Width="250px" SelectionChanged="cmbMainList_SelectionChanged" SelectedItem="{Binding SelectedItem}" />


Заполняется через
Код: c#
1.
cmbMainList.ItemsSource = this.mainList;


где
Код: c#
1.
private List<String> mainList= new List<string>();


Выбрать значение через
Код: c#
1.
cmbMainList.SelectedValue = this.mainList.Where(n => n.Equals(".....")).First();


не получается.
...
Рейтинг: 0 / 0
Программно выбрать значение в ComboBox
    #39063305
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для биндинга SelectedItem дополнительно задать Mode=TwoWay, и в вьюмодели свойству SelectedItem присвоить нужное значение.
И да, уберите у комбобокса имя, и избавьтесь от привычки работать с контролами путем обращения по имени - это не винформс, в впф (MVVM) такое не принято, и, в общем, счтается моветоном.
...
Рейтинг: 0 / 0
Программно выбрать значение в ComboBox
    #39063338
FullKettle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныДля биндинга SelectedItem дополнительно задать Mode=TwoWay, и в вьюмодели свойству SelectedItem присвоить нужное значение.
И да, уберите у комбобокса имя, и избавьтесь от привычки работать с контролами путем обращения по имени - это не винформс, в впф (MVVM) такое не принято, и, в общем, счтается моветоном.
Тут еще проблема в понимании MVVM
...
Рейтинг: 0 / 0
Программно выбрать значение в ComboBox
    #39063626
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FullKettle,

шаблон очень просто можно разобраться за 15 минут.
...
Рейтинг: 0 / 0
Программно выбрать значение в ComboBox
    #39071830
FullKettle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, почему не происходит заполнение ComboBox
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
 public partial class MainWindow : Window
    {
        private List<string> _names;
        public String SimpleNames { get; set; }

        public List<string> Names
        {
            get { return _names; }
            set { _names = value; }
        }

        public MainWindow()
        {
            InitializeComponent();
            DataContext = this;
        }

        private void btnSelect_Click(object sender, RoutedEventArgs e)
        {
            cmbBox.SelectedItem  = Names[1];
        }

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            _names = new List<string>() { "Номер №1", "Номер №2", "Номер №3" }; 
        }
    }



Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<Window x:Class="WpfTest.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded">
    <StackPanel Loaded="StackPanel_Loaded">
        <ComboBox 
            ItemsSource="{Binding Names}"
            SelectedItem="{Binding SimpleNames, Mode=TwoWay}" 
          IsSynchronizedWithCurrentItem="True" 
            Name="cmbBox"
            Margin="5,5,5,5" 
            Width="250px" />
    </StackPanel>
</Window>



А так заполняет

Код: c#
1.
2.
3.
4.
5.
      public List<string> Names
        {
            get { return new List<string>() { "Номер №1", "Номер №2", "Номер №3" }; ; }
            set { _names = value; }
        }



Нужно вызвать какой-то метод обновления?
...
Рейтинг: 0 / 0
Программно выбрать значение в ComboBox
    #39071854
FullKettle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И так загружает )
Код: c#
1.
2.
3.
4.
5.
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            _names = new List<string>() { "Номер №1", "Номер №2", "Номер №3" };
            DataContext = this;
        }
...
Рейтинг: 0 / 0
Программно выбрать значение в ComboBox
    #39071890
FullKettle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибку нашел - не по тем свойствам связал
...
Рейтинг: 0 / 0
Программно выбрать значение в ComboBox
    #39072353
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
начните с изучения MVVM шаблона, а потом изучайте WPF
...
Рейтинг: 0 / 0
Программно выбрать значение в ComboBox
    #39074001
maratoss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага и не забудь прочитать про INotifyPropertyChanged применительно к wpf, чтоб потом не было вопросов: "почему UI не обновляется" =)
...
Рейтинг: 0 / 0
Программно выбрать значение в ComboBox
    #39078084
Володимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так ведь 6-ю постами ниже я задавал подобный вопро, посмотрите ветвь
Как правильно программным образом назначить выбранный объект в ListBox
...
Рейтинг: 0 / 0
Программно выбрать значение в ComboBox
    #39270972
FullKettle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пис..ц. Как молоды мы были)))
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Программно выбрать значение в ComboBox
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]