2010-06-22 169 views
0

我有一個包含子對象的父對象列表。父母和孩子都有一個Checked布爾屬性。這些對象綁定到顯示層次結構的ItemsControl。WPF通過綁定設置可見性

我也有一個「Show checked」複選框,這是我的應用程序設置之一,它將確定ItemsControl中Items的可見性。

因此,根據(Parent.Checked或Child.Checked)& & Checkbox.Checked我需要將結果綁定到項目。

由於提前,

+0

你能發佈一些你的綁定代碼嗎? – BFree 2010-06-22 20:02:11

+0

感謝您的回覆BFree,我沒有任何綁定,經過研究,我認爲我需要使用以下類: http://msdn.microsoft.com/en-us/library/system.windows。 controls.booleantovisibilityconverter.aspx 我還不確定如何最好地去約束兩個布爾值的結果。 – Burt 2010-06-22 20:14:35

+0

最簡單的方法是創建一個新屬性,該屬性是其他屬性的組合,並綁定到該屬性。 – 2010-06-22 20:45:36

回答

1

你的ItemsControl應在其綁定的ItemsSource與過濾器的CollectionViewSource。如果「Show checked」複選框被選中,那麼該過濾器將過濾未經檢查的項目,否則它將接受所有項目。

過濾器將在父類上使用bool屬性來確定是否檢查父代或其子代。