У меня странная проблема в датагриде. Я использую WPF с DataBinding, у меня есть DataGrid и 3 кнопки на странице - «Сохранить», «Обновить», «Отмена» - и много меток. Эти ярлыки, когда пользователь нажимает кнопку «Обновить», активируют режим редактирования для этих ярлыков.
В режиме редактирования этот пользователь не может изменить SelectedIndex этой таблицы (это моя проблема).
Я пытался создать свойство IsNotEditable, привязку к IsEnabled = "" этого DataGrid, но если оно отключено, текущая строка не выбрана.
Я не могу это использовать, потому что когда пользователь нажимает Сохранить, я сохраняю выбранную строку.
Итак ... Я создал другое свойство PlacasSelectedItem и свойство 'Support' 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}" />
Спасибо за любую помощь!