один и тот же «ItemsSource» для каждого выпадающего списка в UserControl - PullRequest
0 голосов
/ 16 мая 2018

У меня есть несколько комбинированных списков в окне / userControl. И я устанавливаю ItemsSource от родителя, но только указываю имя выпадающего списка. Так как я не хочу делать это для каждого (потому что я не могу повторять имена в поле со списком), как я могу реализовать это для всех элементов вида (в данном случае это поле со списком) внутри этого userControl?

В коде UserControl позади

    public object multiSwitchListDataContext {
        get { return multiSwitchCombobox.DataContext; }
        set
        {
            multiSwitchCombobox.DataContext = value; 
            multiSwitchCombobox.ItemsSource = value;
            NotifyPropertyChanged();
        }
    }

    public event PropertyChangedEventHandler PropertyChanged;

В главном окне CS

    (myUserControl).multiSwitchListDataContext = multiSwitchList;

В пользовательском контроле xaml

    <dxe:ComboBoxEdit Name="multiSwitchCombobox"
                      Grid.Row="1"
                      Grid.Column="1"
                      EditValueChanged="EditValueChanged"/>

1 Ответ

0 голосов
/ 16 мая 2018

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

MainWindow.xaml

<ComboBox ItemsSource="{Binding MyList}"/>

MainWindow.xaml.cs

public MainWindow()
{
    InitializeComponent();

    // Very important to get the binding working.
    this.DataContext = this;
}

// The property to bind to, you should choose a better type than object.
public IList<object> MyList
{
    get { return (IList<object>)GetValue(MyListProperty); }
    set { SetValue(MyListProperty, value); }
}

public static readonly DependencyProperty MyListProperty =
        DependencyProperty.Register("MyList", typeof(IList<object>), typeof(MainWindow), new PropertyMetadata(null));

Затем вы должны найти, установив свойство MyList в своем коде, оно заполнит ComboBox значениями в MyList.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...