Я работаю над приложением WPF, которое должно обрабатывать несколько экранов (в настоящее время два).
Один вид можно открыть на нескольких экранах, а действия пользователя должны последовательно отображаться на всех экранах.
Чтобы достичь этого, для данного типа представления создается один экземпляр DataContext.Затем, когда представление отображается на экране, уникальный DataContext присоединяется к нему.Итак, один DataContext, несколько представлений (один и тот же тип представления / xaml).
Пока все хорошо.В большинстве случаев это работает довольно хорошо.
У меня есть проблема с определенным представлением, которое зависит от ItemsControl.Эти ItemsControl используются для отображения элементов UIE, динамически встраиваемых в ViewModel / DataContext (код C #).Эти элементы UIE являются в основном объектами Path.Пример:
<ItemsControl ItemsSource="{Binding WindVectors}">
<ItemsControl.Template>
<ControlTemplate TargetType="{x:Type ItemsControl}">
<Canvas IsItemsHost="True" />
</ControlTemplate>
</ItemsControl.Template>
</ItemsControl>
Здесь WindVectors
- это ObservableCollection<UIElement>
.
Когда представление открывается в первый раз, все в порядке.Проблема заключается в том, что когда открывается вид один на другой экран, все ItemsControl удаляются с первого экрана и отображаются один на втором экране.Другие компоненты WPF (например, TextBlock) в этом представлении реагируют нормально и отображаются на обоих экранах.
Любая помощь будет принята с благодарностью.
Спасибо.
Fabrice