我正在用MVVM模式在WPF/c#中寫一個表單,並試圖與用戶控件共享數據。 (嗯,用戶控制視圖模型)將數據傳遞給mvvm usercontrol
我要麼需要:
- 在該視圖模型創建父母視圖模型,並將其綁定到用戶控件
- 綁定某些類Xaml
- 被告知用戶控件無法與MVVM一起使用並被推向正確的方向。 (我看過數據模板但看起來並不理想)
usercontrol僅用於使大型表單更容易管理,所以我不確定這是否與MVVM一起使用,它是我過去如何做到這一點。
我想通過一個類的VM構造在Xaml。
<TabItem Header="Applicants">
<Views:ApplicantTabView>
<UserControl.DataContext>
<ViewModels:ApplicantTabViewModel Client="{Binding Client} />
</UserControl.DataContext>
</Views:ApplicantTabView>
</TabItem>
public ClientComp Client
{
get { return (ClientComp)GetValue(ClientProperty); }
set { SetValue(ClientProperty, value); }
}
public static readonly DependencyProperty ClientProperty = DependencyProperty.Register("Client", typeof(ClientComp),
typeof(ApplicantTabViewModel),
new FrameworkPropertyMetadata
(null));
但我似乎無法獲得扶養屬性接受非靜態內容。
這對我來說一直是個問題,但假設我會發現但失敗了,所以我在這裏。
由於提前, 奧利
虛擬機通常不應該是依賴項對象 – 2012-03-03 18:49:24
我不希望虛擬機是一個DP我只是想能夠與UserControl的虛擬機共享一些父類。如果我嘗試並正常綁定,則會出現它需要成爲DP的錯誤。 – Oli 2012-03-03 20:10:07
是的,你通常不會綁定虛擬機(在那個方向) – 2012-03-03 20:10:47