Есть ли способ вызвать событие в viewmodel пользовательского элемента управления xaml, которое может быть использовано родительской viewmodel пользовательского элемента управления - PullRequest
0 голосов
/ 02 июля 2019

У меня есть выпадающий список в пользовательском элементе управления, который имеет свою собственную модель представления.Когда пользователь изменяет выбранный элемент, свойство модели представления изменяется, но я хочу вызвать событие из модели представления, чтобы сообщить контейнеру usercontrol, что пользователь что-то выбрал, и передать выбранную строку.

<UserControl x:Class= ....etc>
    <UserControl.Resources>
        <viewmodel:PortsViewModel x:Key="pvm"></viewmodel:PortsViewModel>
    </UserControl.Resources>
        <Menu DataContext="{Binding Source={StaticResource pvm}}">
        <ComboBox Name="PortsCombo" 
                      ItemsSource="{Binding Path=Ports}"
                      SelectedItem="{Binding Path=SPort}"
                      DisplayMemberPath="PortName">
        </ComboBox>
    </Menu>
</UserControl>`

и в окне (что добавить в xaml?:

<localviews:PortsView />

и мою модель представления:

public Port SPort
{
    get { return _sport; }
    set
    {
        var portName = value.PortName;
        int portNo = value.PortNo;

        _sport = value;

        // What to add here to trigger the event?
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...