Гость
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Два комбобокса- как реализовать? / 5 сообщений из 5, страница 1 из 1
18.10.2017, 08:45
    #39537818
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Два комбобокса- как реализовать?
Есть юзерконтрол, на нем два комбобокса, как сделать так, чтобы если выбранное значение в комбобоксе1 изменилось весь комбобокс2 заполнялся другими значениями?
...
Рейтинг: 0 / 0
18.10.2017, 08:58
    #39537821
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Два комбобокса- как реализовать?
ссылка на источник данных находится в каждом элементе первого комбобокса, а источник данных второго комбобокса привязывается к SelectedItem первого комбобокса
...
Рейтинг: 0 / 0
18.10.2017, 09:25
    #39537833
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Два комбобокса- как реализовать?
Shocker.Proссылка на источник данных находится в каждом элементе первого комбобокса, а источник данных второго комбобокса привязывается к SelectedItem первого комбобокса

я в WPF не силён, пытаюсь разобраться.
Что из этого делать в xaml, а что в коде?
...
Рейтинг: 0 / 0
18.10.2017, 10:03
    #39537858
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Два комбобокса- как реализовать?
Код: 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.
public partial class MainWindow : INotifyPropertyChanged
{
  public MainWindow()
  {
    InitializeComponent();
    Numbers = Enumerable.Range(0, 10).Select(n => new NumbersSource(n)).OrderBy(ns => ns.From).ToList();
    DataContext = this;
  }

  public List<NumbersSource> Numbers { get; private set; }

  NumbersSource _selectedItem;
  public NumbersSource SelectedItem
  {
    get { return _selectedItem; }
    set
    {
      _selectedItem = value;
      PropertyChanged(this, new PropertyChangedEventArgs("SelectedItem"));
    }
  }

  public event PropertyChangedEventHandler PropertyChanged;
}

public class NumbersSource
{
  public NumbersSource(int from)
  {
    From = from;
    Numbers = Enumerable.Range(from, 10 - from).ToList();
  }

  public int From { get; private set; }
  public List<int> Numbers { get; private set; }
}


а в разметке - так:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<Grid>
  <Grid.RowDefinitions>
    <RowDefinition />
    <RowDefinition />
  </Grid.RowDefinitions>
  <ComboBox
    x:Name="MasterSource"
    VerticalAlignment="Center"
    ItemsSource="{Binding Numbers}"
    DisplayMemberPath="From" />
  <ComboBox
    Grid.Row="1"
    VerticalAlignment="Center"
    ItemsSource="{Binding SelectedItem.Numbers, ElementName=MasterSource}" />
</Grid>


или так
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<Grid>
  <Grid.RowDefinitions>
    <RowDefinition />
    <RowDefinition />
  </Grid.RowDefinitions>
  <ComboBox
    VerticalAlignment="Center"
    ItemsSource="{Binding Numbers}"
    SelectedItem="{Binding SelectedItem, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
    DisplayMemberPath="From" />
  <ComboBox
    Grid.Row="1"
    VerticalAlignment="Center"
    ItemsSource="{Binding SelectedItem.Numbers}" />
</Grid>
...
Рейтинг: 0 / 0
18.10.2017, 10:12
    #39537863
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Два комбобокса- как реализовать?
спасибо!
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Два комбобокса- как реализовать? / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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