如何将复合对象传递给视图模型

时间:2013-07-21 16:05:22

标签: wpf mvvm mvvm-light

我正在使用带有wpf的mvvm灯。

目前我可以将字符串参数传递给viewmodel的命令,如下所示:

<TextBox Height="23" TextWrapping="Wrap" Text="TextBox" Name="textbox1"/>
<Button Command="{Binding ShowMessage}" Content="Click Me"
        CommandParameter="{Binding ElementName=textbox1, Path=Text}" />

我的问题是如何将像Person这样的复合类型传递给ViewModel命令?

由于

1 个答案:

答案 0 :(得分:1)

<TextBox Height="23" TextWrapping="Wrap" Text="TextBox" Name="textbox1" Tag="{Binding Person}"/>
<Button Command="{Binding ShowMessage}" Content="Click Me"
CommandParameter="{Binding ElementName=textbox1, Path=Tag}" />

你可以使用TextBox的Tag属性,但我认为你的MVVM实现有问题,ViewModel是为你的视图保存数据的。但是在这里你将它从View发送到VM。我的意思是人应该自动在你的VM中,而不是从View发送它。