У меня есть три ViewModels: AccountListViewModel (имеет коллекцию accountviewmodels и свойство selectedaccount)МОФ мастер подробно ListViews связывания не работает
public ObservableCollection<AccountViewModel> AccountList
public AccountViewModel SelectedAccount
AccountViewModel (имеет коллекцию transactionviewmodel)
public ObservableCollection<TransactionViewModel> Transactions
и TransactionViewModel.
Я установил datacontext основного окна в AccountListViewModel, и у меня есть два Usercontrols (AccountListView и TransactionListView), которые я установил в mainwindow в качестве контроля содержимого.
<DataTemplate x:Key="AccountListTemplate" >
<views:AccountListView />
</DataTemplate>
<DataTemplate x:Key="TransactionListTemplate" >
<views:TransactionListView />
</DataTemplate>
<ContentControl Content="{Binding}" ContentTemplate=" {StaticResource AccountListTemplate}" />
<ContentControl Grid.Row="1" Content="{Binding SelectedAccount}" ContentTemplate="{StaticResource TransactionListTemplate}" />
Это ItemsSource из AccountListView UserControl
<ListView x:Name="AccountList" ItemsSource="{Binding Source={StaticResource GroupedAccounts}}" SelectedItem="{Binding SelectedAccount}" >
и ItemsSource для TransactionListView UserControl
<ListView ItemsSource="{Binding Transactions}" >
AccountList правильно отображая но при выборе счета операций не являются хотя логика правильная, я думаю.
Свойство Content contentcontrol, которое содержит TransactionListView, имеет значение SelectedAccount, а источник данных TransactionListView - это коллекция транзакций, поэтому всякий раз, когда я нажимаю на учетную запись, коллекция транзакций этой учетной записи должна отображаться во втором контроле контента.
Я пробовал, но он не работает. – Cristian
Кажется, что вы теряете что-то, имея столько моделей взглядов. Почему бы просто не иметь классы для хранения ваших транзакций и данных учетной записи и иметь ли ваша основная модель представления привязка для доступа к вашим базовым классам? –
Я думаю, что я понимаю вашу ситуацию больше. Я также попытался создать тестовое приложение для репликации ситуации, и мне не удалось обновить список транзакций. Я сделал это по-другому, но с той же проблемой. Я видел выбранное событие с поднятым значением, но не смог вызвать обновление транзакции. Мне, возможно, придется посмотреть дальше. Извините, я не мог больше помочь. –