2013-07-21 68 views
1

我正在使用帶有wpf的mvvm燈。如何傳遞複合對象以查看模型

目前,我可以像下面的字符串參數傳遞給視圖模型的命令:

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

我的問題是如何通過複合型的人喜歡到視圖模型的命令?

感謝

+0

同樣的方式,通過XAML命令參數中的人,只是改變你的命令是類型

+0

@denismorozov我如何從文本框填充XAML中的Person實例? –

回答

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}" /> 

,您可以利用文本框的標籤屬性,但我覺得有什麼不對您的MVVM的實現,這是一個包含數據視圖視圖模型。但是在這裏你將它從View發送到VM。我的意思是Person應該自動在您的虛擬機中,而不是從View發送它。

+0

@你誤解了我,假設我有一個用於創建人(插入)的窗口(視圖),我應該如何將人員數據傳遞給viewmodel? –

+2

r.zarei,你誤會了@ethicallogics。 :)您的虛擬機應該創建Person對象,以響應按鈕發送的命令。換句話說,你的所有邏輯都在虛擬機中 - 視圖只是一個觸發器。 –