0

我有一个小对话框,我可以在其中设置一个值。这个对话框的视图只有一个文本框和两个按钮。我将 textbox.Text 绑定到 ViewModel 中的属性 TbText。通过一个行为,我从它的视图模型中关闭视图。打开此对话框的代码如下所示:

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

对话框关闭后,我需要访问 Property TbText 的值。我怎样才能做到这一点?

4

2 回答 2

2

您可以将 ViewModel 或任何类绑定到 Dialog 的 Datacontext:

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

然后将文本框绑定到您的类中的属性

    <textbox Value="{Binding MyProperty}">

在此之后,您可以读出您的课程

    if(dialog.ShowDialog())
    {
       var value = vm.MyProperty;
    }
于 2013-01-29T08:57:30.797 回答
0

在 Source 中使用 INotifyPropertyChanged 接口,然后在文本框中绑定应该如下所示

<TextBox Text={Binding Path=Name, 
                            Mode=TwoWay, 
                            UpdateSourceTrigger=PropertyChanged} />

这是一种双向绑定,因此每当用户输入在源属性中更新的数据时。如果您需要此数据,您可以从用于绑定的模型属性访问。

希望以上解决方案可以帮助您解决问题

于 2013-01-29T09:12:06.647 回答