2011-04-11 45 views
4

只是一個例子。 CustomControl具有名爲「Test」的屬性的ViewModelWPF綁定到ViewModel的另一個元素

如何將文本框綁定到該特定屬性? 你可以訪問兄弟ViewModel嗎?

<TextBox Text="{Binding ElementName=myControl, Path=ViewModel.Test}"></TextBox> 
<Controls:CustomControl x:Name="myControl" /> 
+0

您的CustomControl實際上是否有_depen dency property_叫做ViewModel? – 2011-04-11 19:42:47

+0

不一定是依賴項屬性@Henk Holterman – 2011-04-11 19:51:44

+0

不,它沒有,它添加DP使它工作! – 2011-04-11 19:54:33

回答

3

兄弟姐妹視圖模型會在其DataContext中嘗試

<TextBox Text="{Binding ElementName=myControl, Path=DataContext.Test}"></TextBox> 
<Controls:CustomControl x:Name="myControl" /> 
+0

真棒,感謝您的幫助,這讓我做到了讓ViewModel保持私密,並且沒有DP。 – 2011-04-11 19:59:27

+0

我應該首先想到這個.. ..乾杯.. – 2011-04-11 20:00:36

+0

這種方式允許散佈兩個不同的ViewModels,包括在同一行,而不會導致ViewModels的多個實例 – user2584621 2017-01-26 04:59:14

0

可能這就是你須─什麼

<TextBox Text="{Binding Source={x:Static local:VieModel}, Path=Test}"></TextBox> 
<Controls:CustomControl x:Name="myControl" /> 

不要忘了加上標記擴展到包括在您的視圖模型類存在命名空間 - xmlns:local="clr-namespace:ViewModel NameSpace"

+0

時,所有這些都是不必要的。我只是輸入。乾杯 – evanb 2011-04-11 19:51:40

相關問題