powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как скопировать все значения из List<String> в ComboBox?
12 сообщений из 12, страница 1 из 1
Как скопировать все значения из List<String> в ComboBox?
    #38864934
erman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброй ночи!
Такой вопрос :
Есть ли в C# скопировать список List<String> в ComboBox одной строкой, чтобы не перебирать каждый элемент в цикле?
Буду признателен за ответ!
...
Рейтинг: 0 / 0
Как скопировать все значения из List<String> в ComboBox?
    #38864998
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забиндить ItemsSource комбобокса на этот List<string>.
...
Рейтинг: 0 / 0
Как скопировать все значения из List<String> в ComboBox?
    #38865640
erman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Забиндить это что значит, сделать привязку в xaml? И как правильно это сделать?
У меня comboBox заполняется в отдельном методе, а потом этот метод вызывается в конструкторе окна.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
private void AddCarsList()
{
            Cars = new List<string>();
            Cars.Add("Toyota");
            Cars.Add("Ford");
            Cars.Add("Mercedes");
            .....
}


Код: c#
1.
2.
3.
4.
5.
public ComboBoxWindow()
        {
            InitializeComponent();
            AddCarsList();            
        }        
...
Рейтинг: 0 / 0
Как скопировать все значения из List<String> в ComboBox?
    #38865653
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
erman,

Я Вам кажется уже писал, в WPF не работают приёмы WF, Выкиньте из головы всю ту муру, что вы делали в WF, нет ни какой нужды заполнять Combobox элементами императивным путём. Мыслите и делайте всё декларативно.
...
Рейтинг: 0 / 0
Как скопировать все значения из List<String> в ComboBox?
    #38865681
erman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman Mejtes,

От вас уже полно ответов получил - никакой помощи, только критика. Написали ли бы несколько строк кода было бы лучше.
...
Рейтинг: 0 / 0
Как скопировать все значения из List<String> в ComboBox?
    #38865708
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
erman,

а что толку от этого? я же сказал, вам надо открыть книгу и почитать про декларативное программирование, про связывание, про шаблон MVVM, потом уже спрашивать, если не понятно. Ну напишу я вам пример, а толку, в другой ситуации вы опять напоритесь на те же грабли.

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
<Window x:Class="WpfApplication7.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:wpfApplication7="clr-namespace:WpfApplication7"
        xmlns:system="clr-namespace:System;assembly=mscorlib"
        Title="MainWindow" Height="350" Width="525">
    <Window.DataContext>
        <wpfApplication7:MainModel/>
    </Window.DataContext>
    <Window.Resources>
        <system:String x:Key="SelectedString">You select: {0}</system:String>
    </Window.Resources>
    <Grid>
        <StackPanel>
            <ComboBox ItemsSource="{Binding SameOneList}"
                      SelectedItem="{Binding SelectedElement}"
                      Margin="5"/>
            <TextBlock Text="{Binding SelectedElement, StringFormat={StaticResource SelectedString}}"
                       Margin="5"/>
        </StackPanel>
    </Grid>
</Window>



Код: 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.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
using System.Collections.Generic;
using System.ComponentModel;

namespace WpfApplication7
{
    public class MainModel : INotifyPropertyChanged
    {
        private string _selectedElement;

        public MainModel()
        {
            SameOneList = new List<string>
            {
                "Element 1",
                "Element 2",
                "Element 3",
                "Element 4",
                "Element 5",
            };
        }
        public List<string> SameOneList { set; get; }

        public string SelectedElement
        {
            set { _selectedElement = value;
                OnPropertyChanged("SelectedElement");
            }
            get { return _selectedElement; }
        }

        public event PropertyChangedEventHandler PropertyChanged;

        protected virtual void OnPropertyChanged(string propertyName)
        {
            PropertyChangedEventHandler handler = PropertyChanged;
            if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
        }
    }
}
...
Рейтинг: 0 / 0
Как скопировать все значения из List<String> в ComboBox?
    #38865898
erman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё равно не работает! Список пустой.
Код: 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.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
public partial class ComboBoxWindow : Window, INotifyPropertyChanged
    {
        private List<string> cars;
        public List<string> Cars 
        { 
            get {return cars;}
            set {
                cars = value;
                OnPropertyChanged("Cars");
            }            
        }

        private string _selectedElement;
        public string SelectedElement
        {
            set
            {
                _selectedElement = value;
                OnPropertyChanged("SelectedElement");
            }
            get { return _selectedElement; }
        }

        public event PropertyChangedEventHandler PropertyChanged;
        protected virtual void OnPropertyChanged(string propertyName)
        {
            PropertyChangedEventHandler handler = PropertyChanged;
            if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
        }

        public ComboBoxWindow()
        {
            InitializeComponent();
            AddCarsList();            
        }

        private void AddCarsList()
        {
            Cars = new List<string>();
            Cars.Add("Toyota");
            Cars.Add("Ford");
            Cars.Add("Mercedes");
            Cars.Add("RangeRover");
            Cars.Add("Volkswagen");
            Cars.Add("Volvo");
            Cars.Add("Jeep");
            Cars.Add("Renault");
            Cars.Add("Peugeuot");
            Cars.Add("Scoda");
        }        

        private void btnDisclose_Click(object sender, RoutedEventArgs e)
        {
            if (cbxNormalList.IsDropDownOpen == false)
            {
                cbxNormalList.IsDropDownOpen = true;
                tblBtnDisclose.Content = "Раскрыть-свернуть випадающий список - свойство IsDropDownOpen";
                return;
            }                       
        }
    }


Код: c#
1.
<ComboBox x:Name="cbxNormalList" ItemsSource="{Binding Cars}" SelectedItem="{Binding SelectedElement}" />


Что не так?
...
Рейтинг: 0 / 0
Как скопировать все значения из List<String> в ComboBox?
    #38866027
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
erman,

я уже написал пример, он рабочий, я его сделал минут за 5.
создаешь окно (View)
создаешь модель представления (ViewModel)
задаешь окну DataContext, используешь привязки, профит.

последний раз советую скачать книгу по WPF и почитать, а не городить вот это. Знания в голове сами не появятся )
...
Рейтинг: 0 / 0
Как скопировать все значения из List<String> в ComboBox?
    #38866105
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В этом трешовом примере можно заменить

Код: c#
1.
Cars = new List<string>();


на
Код: c#
1.
Cars = new ObservableCollection<string>();



Но менее трешовым этот пример не станет.

erman , вы уверены, что вам нужен WPF?

Вы же даже еще не дошли до зависимых свойств.
...
Рейтинг: 0 / 0
Как скопировать все значения из List<String> в ComboBox?
    #38866107
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да даже ObservableCollection не поможет. DataContext-то не задан.

erman, это уже вторая тема про непостижимый комбобокс.

Что со старой, какие выводы?
...
Рейтинг: 0 / 0
Как скопировать все значения из List<String> в ComboBox?
    #38866177
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Monochromatique,

всё просто, совершенно очевидно, что до этого человек программировал на WF и использует привычные ему приёмы, при это на совет почитать литературу по WPF реагирует агрессивно :) а пока книгу не откроет, прогресса не будет :)
такими путями он не познает магии WPF =) и декларативного программирования :)
...
Рейтинг: 0 / 0
Как скопировать все значения из List<String> в ComboBox?
    #38867232
erman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman Mejtes,
Что вы за эту книгу взялись - книга есть, даже не в электронном варианте, но что вы думаете, что я так сразу смогу освоить всё.
Задаю вопросы - значит что-то не понятно, не хотите помогать - нефиг здесь сорить!
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как скопировать все значения из List<String> в ComboBox?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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