1
我正在創建一個裝載裝飾器,其上有一個旋轉圖標。我嘗試直接在XAML中綁定可見性屬性,但實際上隱藏了其層次結構中的所有內容。以編程方式獲取WPF裝飾者可見性數據綁定
我有這個在我的XAML:
<AdornerDecorator Visibility="{Binding Path=RootGroup.Loading, Converter={StaticResource VisibilityConverter}}">
<TreeView x:Name="groupTreeView" />
</AdornerDecorator>
,這在我的構造
LoadingAdorner adorner = new LoadingAdorner(groupTreeView);
AdornerLayer.GetAdornerLayer(groupTreeView).Add(adorner);
這不是要我想,所以我試圖在代碼綁定它來代替:
LoadingAdorner adorner = new LoadingAdorner(groupTreeView);
Binding bind = new Binding("RootGroup.Loading");
bind.Source = this.DataContext;
bind.Converter = new VisibilityConverter();
adorner.SetBinding(LoadingAdorner.VisibilityProperty, bind);
AdornerLayer.GetAdornerLayer(groupTreeView).Add(adorner);
這將工作,如果DataContext不爲空,因爲它實際上可以找到RootGroup.Loading。但是如果它是空的,那麼綁定沒有任何資源可以查看。
所以我想知道XAML數據綁定使用什麼作爲它的.Source?直接在XAML中綁定綁定到正確的屬性,但它不會達到相同的結果。所以我只是想知道我應該設置我的.Source來所以我可以綁定到RootGroup.Loading?
謝謝,勞爾
就像你說的那樣,它不直接回答問題......但是當我在做什麼時,你的方法會更好。 非常感謝! – HaxElit 2009-12-04 19:30:41