我對WPF很陌生。我試圖綁定到DataGrid行中的一個屬性,以便當該行被單擊屬性設置。綁定到DataGrid的ItemsSource是Field類型的ObservableCollection對象。WPF:綁定到DataGrid中的SelectedItem行
我試圖綁定到DataGrid上的SelectedItem屬性,但該屬性沒有被調用。我使用幾乎相同的代碼綁定到一個ComboBox的SelectedItem,這工作正常。有沒有我不知道的差異?
<ComboBox ItemsSource="{Binding RecordTypes}" SelectedItem="{Binding SelectedRecordType}" ...
<DataGrid ItemsSource="{Binding Fields}" SelectedItem="{Binding SelectedField}" ...
在我的ViewModel:
private Field SelectedField
{
get
{
return _selectedField;
}
set
{
_selectedField = value;
}
}
(我將使用自動屬性後,它只是當前設置像這樣這樣,當屬性設置我能打破)。
我不確定它是否有所作爲,但DataGrid由2個DataGridTextColumns和一個DataGridTemplateColumn組成,其中包含一個複選框。
有沒有人有任何想法?我非常感謝任何建議。
爲了確認,我想聽一下行的點擊的原因是,只要點擊一行就可以選中複選框。如果有更好的解決方案,請讓我知道。
我從來沒有綁定過一個標記爲private的屬性,我相信它必須是一個公共屬性才能綁定到UI。你的ObservableCollection也被用作Field類型的對象的ItemsSource? –
我想你還需要設置列綁定。 – dburner
請檢查您的輸出窗口是否有任何綁定錯誤。我不確定,但是您需要爲您的財產實施INotifyPropertyChanged。 – Khushi