我想爲我的應用程序做一個快速的用戶控件,但保留在MVVM風格的東西我想我會設置將XAML的DataContext添加到我的UserControl後面的代碼中。WPF MVVM - 自定義控件不會綁定到可見性,如果我將DataContext設置爲後面的代碼
即
DataContext="{Binding RelativeSource={RelativeSource Self}}"
這讓我的XAML到屬性綁定在我後面的代碼。
一切都很順利,直到我將控件實例的可見性綁定到ViewModel上的Visibility屬性爲止。
<Controls:RoundProgress Visibility="{Binding ProgressVisibility}" Width="100" Height="100"></Controls:RoundProgress>
知名度不再適用 - 如果我在DataContext從用戶控件刪除我的tinkerings - 知名度的作品!
有人可以請我嗎?謝謝
謝謝,這是完美的。 – 2010-09-03 09:16:48
我試過了。它給了我一個錯誤。屬性'AncestorType'不存在於XML名稱空間'http://schemas.microsoft.com/winfx/2006/xaml/presentation'中的'RelativeSource'類型中。 – user20358 2010-11-30 09:58:36
要明確,您在XAML中指定的DataContext將在'InitializeCompenent()'期間設置。 – 2014-10-29 18:47:03