1
我有一個DataGrid的DataGridCheckBoxColumn綁定到可爲空的布爾值。如果值爲null,我想完全隱藏複選框。我嘗試了以下觸發器,但它不起作用:WPF DataGridCheckBoxColumn:如果綁定值爲null,如何隱藏複選框?
<Style TargetType="CheckBox">
<Style.Triggers>
<Trigger Property="IsChecked" Value="{x:Null}">
<Setter Property="Visibility" Value="Hidden"/>
</Trigger>
</Style.Triggers>
</Style>
是否有可能?非常感謝您的幫助!
+1。這是正確的答案,但是如果你不添加IsThreeState =「True」,假設用戶希望只使用網格中沒有綁定爲null的複選框,它會更好。 – RichardOD 2011-05-21 18:20:49
它對我有部分作用。如果爲null,它將隱藏複選框。但是,我也觀察到以下問題:1.我的列只能讀取。但是,在應用此樣式之後,該複選框不再是隻讀的。實際上,我的綁定屬性只是一個getter,所以我不確定checkable狀態是如何綁定的。 2.該複選框現在左對齊。它曾經居中。 3.我怎樣才能使這個可重用的風格?我有很多這樣的專欄,我不想爲每一欄重複同樣的事情。 4.我沒有看到設置或不設置IsThreeState = True的任何區別。 – newman 2011-05-21 19:14:51
您可以將樣式定義爲資源('DataGrid.Resources'),然後引用它:' ',其中'myStyle'是分配給'x:Key'樣式。還要在綁定中設置Mode = OneWay,它不應該是可編輯的(我甚至有一個異常,當我移除setter時,這個異常迫使我這樣做)。 –
2011-05-21 19:17:55