Как управлять двумя отдельными дисплеями в WPF?
Я пишу приложение, которое позволит пользователям выбирать из серии карт на сенсорном дисплее, а затем карты также будут отображаться на большом настенном экране. Пользователи смогут панорамировать/масштабировать/вращать карты, и я бы хотел, чтобы настенный экран показывал эти изменения синхронно с сенсорным экраном.
Как правильно подойти к управлению этими двумя дисплеями?
В настоящее время у меня есть приложение, настроенное в формате MVVM, и я использую Caliburn.Микро.
Каждая карта находится в своем собственном UserControl, и они активируются в ContentControl на моем ShellView с помощью Conductor и ActivateItem в ShellViewModel. Я хотел бы, чтобы активный элемент также отображался в отдельном окне (на настенном экране).
Вот код до сих пор:
ShellView.язык XAML:
<Grid> <!--The Content control shows which MapView is currently active--> <ContentControl x:Name="ActiveItem"/> <StackPanel> <TextBlock Text="Select a map."> <ComboBox> <Button x:Name="LoadMap1">Map1</Button> <Button x:Name="LoadMap2">Map2</Button> <Button x:Name="LoadMap3">Map3</Button> </ComboBox> </StackPanel> </Grid>
ShellViewModel.в CS
public class ShellViewModel : Conductor<object> { public ShellViewModel() { } public void LoadMap1() { ActivateItem(new MapOneViewModel()); } public void LoadMap2() { ActivateItem(new MapTwoViewModel()); } public void LoadMap3() { ActivateItem(new MapThreeViewModel()); } }
Я не знаю, является ли это лучшим способом настроить его, но он хорошо работает для загрузки карт в ShellView. Мне действительно просто нужно показать то же самое в другом окне для настенного дисплея
Любая помощь оценена по достоинству, спасибо!
Что я уже пробовал:
Я пробовал использовать визуальную кисть, но не знаю, смогу ли я привязать ее к двум окнам.