Модель обновления за DataGrid на значение ComboBox изменено - PullRequest
0 голосов
/ 06 августа 2020

У меня есть представление сетки WPF, которому я назначаю данные через observableCollection. Одним из свойств этого объекта является перечисление, которое, в свою очередь, отображается как поле со списком. В моем xaml я не определяю никаких заголовков, я просто устанавливаю источник элемента.

<UserControl x:Class="DbSchemaDecoder.DisplayTableDefinitionView.TableDefinitionView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:local="clr-namespace:DbSchemaDecoder.DisplayTableDefinitionView"
             
             mc:Ignorable="d" 
             d:DesignHeight="450" d:DesignWidth="800">

    <Grid>
        <DataGrid ItemsSource="{Binding DbTableDefinitionController.TableTypeInformationRows}" SelectedItem="{Binding Path=DbTableDefinitionController.SelectedTypeInformationRow}">
            <DataGrid.Resources>
                <local:IndexConverter x:Key="IndexConverter" />
            </DataGrid.Resources>

            <DataGrid.InputBindings>
                <KeyBinding 
                    Key="Delete"
                    Command="{Binding DbTableDefinitionController.DbDefinitionRemovedCommand}" />
            </DataGrid.InputBindings>
        </DataGrid>
    </Grid>
</UserControl>

Моя проблема в том, что когда я изменяю значение в поле со списком, значение не изменяется в модели, пока я не выберу новый строка в таблице. Как сделать так, чтобы он обновлялся при закрытии combobox? Можно ли получить событие при наведении курсора на элемент в поле со списком? Я могу найти несколько примеров того, как это сделать, если я сам определю заголовки, но я хотел бы, чтобы они создавались автоматически, как сейчас, если это возможно.

...