1

我正在将 mvvm light 与 wpf 一起使用。

目前我可以将字符串参数传递给 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 的命令?

谢谢

4

1 回答 1

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 。我的意思是 Person 应该自动存在于您的 VM 中,而不是从 View 发送它。

于 2013-07-21T16:31:09.183 回答