嗨我有一個WPF應用程序,WPF數據網格與可觀察的對象集合。可觀察集合中的每個對象都有一個布爾變量,它由數據網格中的複選框表示。我試圖做的是當我檢查框並使其對集合中的一個對象「真」時,它使集合的其他對象被設置爲「false」。換句話說,當我點擊我的數據網格複選框爲一個對象時,它取消選中集合中其他對象的複選框。它的這樣一個簡單的概念,但我已經嘗試了幾種方法來做到這一點,包括使用一個屬性,但我得到堆棧溢出,導致它永遠循環集合,我嘗試使用與點擊複選框相關的事件,但我不能獲取事件以將數據網格中的所有其他對象設置爲false,因爲我無法弄清楚如何訪問數據網格中的項目以修改它們。必須有一個非常簡單的方法來做到這一點,我俯瞰。wpf datagrid複選框列
的WPF這裏的代碼是:
<DataGrid x:Name="DataGrid1" AutoGenerateColumns="False" ItemsSource="{Binding CollectionOfThings}" CanUserAddRows="False" CanUserDeleteRows="False" CanUserReorderColumns="False" CanUserSortColumns="False" SelectionMode="Single" Margin="0,0,0,124">
<DataGrid.Columns>
<DataGridCheckBoxColumn Header="Column with a checkbox" Binding= "{Binding CheckBoxBooleanValue}" />
</DataGrid.Columns>
我有C#代碼:
集合包含從這個簡單的類對象:
public class Thing
{
public bool CheckBoxBooleanValue {get; set;}
}
我的主窗口我的WPF表單中的構造函數在應用程序啓動時創建集合:
public MainWindow()
{
ObservableCollection<Thing> CollectionOfThings;
Thing thing1 = new Thing();
CollectionOfThings.Add(thing1);
Thing thing2 = new Thing();
CollectionOfThings.Add(thing2);
}
非常感謝soooo!我完全忘記了使用單選按鈕控件! – pirit4