Привязка сетки данных WPF к свойству навигации (представление не обновляется) - PullRequest
0 голосов
/ 07 мая 2019

У меня есть сетка данных, где свойства выбранного элемента отображаются для редактирования в текстовых полях и в выпадающих списках. Все работает нормально, если я связываю сетку данных со свойствами сущностей сетки данных (Account), но когда я хочу отобразить описание из свойства навигации учетной записи (Account.AccountChart.Description), представление не обновляется, когда я изменить значение в выпадающем списке.

Account Сущность имеет свойство AccountChartId и свойство навигации AccountChart. AccountChart имеет Id и Description.

Мои сущности модели не реализуют уведомление об изменении свойства, только ViewModel.

DataGrid:

<DataGrid 
    ItemsSource="{Binding Accounts}"
    AutoGenerateColumns="False"
    SelectedItem="{Binding SelectedAccount}">
    <DataGrid.Columns>
        <DataGridTextColumn Header="Account type" Binding="{Binding AccountChart.Description}"/>
    </DataGrid.Columns>
</DataGrid>

ComboBox:

<ComboBox   
    ItemsSource="{Binding AccountCharts}"
    SelectedItem="{Binding SelectedChart}"
    DisplayMemberPath="Description"
    SelectedValuePath="Id"
    SelectedValue="{Binding SelectedAccount.AccountChartId}"
/>

Свойство SelectedChart в виртуальной машине:

private AccountChart _selectedChart;
public AccountChart SelectedChart
{
    get { return _selectedChart; }
    set
    {
    _selectedChart = value;
    RaisePropertyChanged("SelectedChart");
    }
}

Сетка данных отображает описание AccountChart, но не обновляется при выборе ComboBox. База данных обновлена ​​правильно, и если я перезагрузить окно, описание изменилось. Если я изменяю привязку сетки данных с AccountChart.Description на AccountChartId, сетка данных отображает Id диаграммы, а также обновляет сетку данных в представлении с помощью ComboBox. Я перепробовал все виды вариаций RaisePropertyChanged и разные привязки, но просто не могу это сделать.

Может кто-нибудь сказать мне:

  1. Почему мой вид не обновляется при привязке к свойству навигации?
  2. Как получить обновление вида с описанием из свойства навигации?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...