Я могу заставить сценарий детализации мастера работать просто отлично, если держать мастер и детали вместе в одном виде. Однако я хочу иметь возможность адаптировать презентацию деталей на основе безопасности пользователя. Поэтому я переместил раздел сведений в отдельное представление, используя ту же модель представления, что и бэкэнд. Теперь детали не обновляются должным образом при выборе новой основной записи. Если два представления используют одну и ту же модель представления, разве это не должно работать нормально? Как я уже говорил, когда код находится в одном представлении, он работает нормально.
деталь XAML:
<ListView x:Name="DoctorOfficesList"
Grid.Column="1"
Background="black"
HorizontalContentAlignment="Stretch"
IsSynchronizedWithCurrentItem="True"
ItemsSource="{Binding Path=SelectedDoctor.DoctorOfficesCollection}"
ItemTemplate="{StaticResource DoctorOfficesListTemplate}">
</ListView>
Мастер XAML:
<ListBox x:Name="DoctorHeaderList"
Grid.Column="0"
MinWidth="200"
MaxWidth="300"
Margin="0,0,2,0"
Background="black"
ItemsSource="{Binding Path=DoctorsList}"
SelectedItem="{Binding Path=SelectedDoctor}"
IsSynchronizedWithCurrentItem="True"
ItemTemplate="{StaticResource DoctorsListTemplate}"
ScrollViewer.HorizontalScrollBarVisibility="Hidden">
</ListBox>
Я пробовал несколько способов заставить это работать. Все сценарии работают, когда списки находятся в одном представлении. При раздельном перемещении они останавливаются. Если это имеет значение, я использую PRISMv2.
Наверное, мой конкретный вопрос: как мне заставить это работать? Мне действительно нужно событие? Я думаю, так как они привязаны к одной и той же виртуальной машине, это будет несложно.