Dev express wpf CellEditor привязывается к экземпляру класса - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть dxg: GridControl. xaml:

        <dxg:GridControl Name="DynamicGridControl"
                         ItemsSource="{Binding CommonEditCollection, Mode=TwoWay}"
                         SelectionMode="Cell"
                         AutoGenerateColumns="AddNew"
                         AutoGeneratedColumns="GridControl_AutoGeneratedColumns">
            <dxmvvm:Interaction.Behaviors>
                <lc:CellSelectionBehavior SelectedCells="{Binding SelectedCells, Mode=TwoWay}"/>
            </dxmvvm:Interaction.Behaviors>
        </dxg:GridControl>

ItemsSource связывается с CommonEditCollection viewmodel:

public ObservableCollection<Dictionary<int, DynamicTableModel>> CommonEditCollection { get; set; }

модель:

 public class DynamicTableModel
    {
        public double CellWidth { get; set; }
        public string StrValue{ get; set; }
        public bool IsBorerNull { get; set; }

        public DynamicTableModel(string strVal, double cellWidth, bool isBorerNull = false)
        {
            StrValue = strVal;
            CellWidth = cellWidth;
            IsBorerNull = isBorerNull;
        }
    }

В файле xaml я устанавливаю ресурсы для стиля ячеек (я хочу объединить несколько ячеек):

            <DataTemplate x:Key="CellDataTemplate">
                <StackPanel>
                    <Border ...
                        </Border.Style>
                    </Border>
                    <dxg:CellEditor Content="{Binding Value.StrValue}"/>
                </StackPanel>
            </DataTemplate>

I привязать CellEditor к свойству класса DynamicTableModel. Но если я попытаюсь отредактировать текст в любой ячейке, он выдаст исключение NullReferenceException. Я не могу изменить класс DynamicTableModel на строку, потому что мне нужны другие свойства. И я попытался использовать атрибут конвертора, но он создает новый экземпляр, когда я изменяю текст. Помогите мне пожалуйста изменить текст в ячейках. Ссылка на проект: https://github.com/Kolgotin/DynamicGridControl

...