2013-04-16 21 views
1

我有組合框綁定到一個集合。集合中的每個項目都有一個可能包含或可能不包含項目的子集合。我有第二個組合框被綁定到子集合。我只想顯示(= Visibility.Visible)第二個組合框,如果子集合有項目。所有的工作。但是:當我開始我的程序時,主組合框的selectedItem爲空(=到目前爲止沒有被選中)。這(我猜)導致轉換器不被調用(它不,我已經在轉換器上設置了一個斷點,並且程序在啓動時不停止)。ValueConverter未啓動

所以我有問題,我不想在程序啓動時顯示第二個組合框。我可以強制調用ValueConverter嗎?我曾嘗試在構造函數的末尾調用OnPropertyChanged,但是這不會改變任何內容。當我在.xaml.cs的構造函數中將組合框設置爲Visible.Hidden時,即使在調用了值轉換器之後,它也不會顯示。有任何想法嗎?

+2

添加您是否嘗試過設置'FallbackValue'爲捆綁?當沒有任何限制時,您可以設置一個值,該值將在不到5分鐘內取代綁定 – Charleh

回答

4

設置綁定一個FallbackValue

<SomeUIElement Visibility="{Binding SomeBinding, Converter={StaticResource SomeConverter}, FallbackValue=Hidden}" /> 

當沒有什麼約束,你可以設置將替代結合來使用的值。

之所以改變對Visibility.Hidden隱藏代碼值留下不可見所有的時間是因爲明確設置該屬性中刪除綁定您在XAML

+0

完美答案。我愛SOF!非常感謝! – Peter

+0

「您可以在4分鐘內接受答案」... :) – Peter