C# WPF: свойство зависимости от MVVM - PullRequest
0 голосов
/ 02 апреля 2020

Мне нужно создать компонент со свойством зависимости, я не знаю, как связать данные из другого пользовательского элемента управления, кто-то может мне это объяснить? Я не думаю, что мне нужно создавать модель представления для компонента.

Вот мой код:

Здесь я называю компонент

    <DockPanel Grid.Row="1">
        <ctrls:CustomComboBox Collection="{Binding Path=TestingCollection}" SelectedCollectionItem="{Binding Path=SelectedItem}"
                              CreateCommand="" DeleteCommand="" UpdateCommand=""/>
    </DockPanel>

И вот оно Мой компонент

        <ComboBox Grid.Column="0" SelectedValue="{Binding SelectedCollectionItem,ElementName=CustomComboBoxControl, Mode=TwoWay}"
                                  ItemsSource="{Binding Collection}" 
                                  DisplayMemberPath="Name"
                                  SelectedValuePath="Name"
                                  HorizontalContentAlignment="Center" 
                                  VerticalContentAlignment="Center"
                                  />

Вот мой xaml.cs

public static readonly DependencyProperty CollectionProperty =
    DependencyProperty.Register("Collection", typeof(ObservableCollection<object>), typeof(CustomComboBox));

public ObservableCollection<object> Collection
{
    get { return (ObservableCollection<object>)GetValue(CollectionProperty); }
    set { SetValue(CollectionProperty, value); }
}



public static readonly DependencyProperty SelectedCollectionItemProperty =
    DependencyProperty.Register("SelectedCollectionItem", typeof(object), typeof(CustomComboBox));
public object SelectedCollectionItem
{
    get { return (object)GetValue(SelectedCollectionItemProperty); }
    set { SetValue(SelectedCollectionItemProperty, value); }
}

РЕДАКТИРОВАТЬ:

Я попытался создать виртуальную машину и установить контекст данных, и работает , но свойства зависимости кажутся бессмысленными

1 Ответ

0 голосов
/ 02 апреля 2020

У меня получилось, я удалил свою ВМ, которой мне не хватало, и ElementName в ItemSource

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