我在Datagrid中有一個奇怪的問題。我使用WPF與DataBinding,我有一個DataGrid,並在一個頁面中的3個按鈕 - 保存,更新,取消 - 和很多標籤。這些標籤,當用戶點擊更新按鈕時,將啓用這些標籤的編輯模式。DataGrid集屬性,但沒有得到改變的價值SelectedIndex
在編輯模式下,該用戶無法更改該網格的SelectedIndex(這是我的問題)。 我試圖創建一個屬性IsNotEditable,綁定到該DataGrid的IsEnabled =「」,但如果它被禁用,則當前行未被選中。
我不能使用它,因爲當用戶點擊保存時,我會保存選定的行。 所以...我創建另一個屬性PlacasSelectedItem和「支持」屬性PlacasSelectedAux,使用此代碼:
public ConeSlab PlacasSelectedAux { get; set; }
private ConeSlab placasSelectedItem;
public ConeSlab PlacasSelectedItem
{
get { return placasSelectedItem; }
set
{
if (CurrentEditMode == EditMode.View)
{
placasSelectedItem = value;
PlacasSelectedAux = value;
OnPropertyChanged("PlacasSelectedItem");
if (PlacasSelectedItem != null)
PlacaQuenteIsChecked = StringUtil.ConvertYesNoToBoolean(PlacasSelectedItem.Slab.InfHotSlab);
else
PlacaQuenteIsChecked = false;
ExibeLaminadorDestino();
}
else if (CurrentEditMode != EditMode.View)
{
// if isn't in ViewMode, and if user clicks in another Row, will force previously row to be selected.
placasSelectedItem = PlacasSelectedAux;
OnPropertyChanged("PlacasSelectedItem");
}
}
}
好了,現在奇怪的問題:它執行的代碼,我看到的變化代碼,但SelectedIndex不會更改!數據綁定不起作用!
這裏是我的綁定:
<DataGrid SelectedItem="{Binding Path=PlacasSelectedItem, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
感謝您的幫助!您的網格
讓我得到這一點,你有一個可編輯的數據網格,你選擇一行,並將其中一個單元格編輯模式。現在根據你的問題是用戶不允許將該行的選擇更改爲另一行?我對麼? –