MVVM Получают стоимость от закрывшего окна

У меня есть маленький Диалог, где я могу установить значение. У Представления об этом Диалоге есть всего один TextBox и две кнопки. Я связываю textbox. Текст к собственности TbText в ViewModel. Через поведение я закрываю представление от, он - viewmodel. Кодекс, чтобы открыть этот диалог похож:

AddLineDialog dialog = new AddLineDialog();
bool? result = dialog.ShowDialog();
if(result.HasValue && result.Value)
{
//Here i need the Text from the closed dialog
}
...

После того, как Диалог закрывается, я должен получить доступ к ценности Собственности TbText. Как может я achive это?

0
nl ja de
Необходимо прочитать стоимость от ViewModel. Где вы храните/держите ViewModel (s)?
добавлено автор Erno de Weerd, источник

2 ответы

Можно связать ViewModel или любой класс к Datacontext Диалога:

    AddLineDialog dialog = new AddLineDialog();
    var vm = new LineDialogViewModel();
    dialog.DataContext = vm;

Тогда свяжите textbox с собственностью от вашего класса

    

После этого можно читать класс вслух

    if(dialog.ShowDialog())
    {
       var value = vm.MyProperty;
    }
2
добавлено
you' право ре:) отредактировал мой пост
добавлено автор JMan, источник
Просто предложение, мне потребовалось короткое время, чтобы понять ваш код. Возможно, it' s лучше, чтобы взять более описательные имена в следующий раз. По моему скромному мнению, MyClass не является лучшим именем, когда you' ре, говорящее ViewModel . Тем не менее, it' s правильное решение.: o)
добавлено автор DHN, источник

Интерфейс INotifyPropertyChanged использования в Источнике, затем в закреплении textbox должен быть похожим ниже


Это были два способа связать поэтому каждый раз, когда пользователь входит в данные, которые обновили в источнике propery также. Если вам нужны эти данные, можно получить доступ от образцовой собственности, которую вы используете, чтобы связать.

Надежда вышеупомянутое решение помогает вам решить свою проблему

0
добавлено
Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot