Я знаю, что я могу переключаться между экранами, если я делаю следующее:Caliburn Micro - Показать экраны Simultaniously
ShellViewModel.cs
public class ShellViewModel : Conductor<object>.Collection.OneActive
{
public void ShowFirstScreen()
{
ActivateItem(new FirstViewModel());
}
public void ShowSecondScreen()
{
ActivateItem(new SecondViewModel());
}
}
ShellView.xaml для OneActive
<ContentControl x:Name="ActiveItem" />
Но я хочу показать эти экраны одновременно. Поэтому при смене с OneActive до AllActive Нет на экране.
Я знаю, что я могу показать эти экраны, если я использую ItemsControl
ShellView.xaml для AllActive
<ItemsControl ItemsSource="{Binding Path=Items}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<ContentControl cal:View.Model="{Binding}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Но я хочу, чтобы поместить их в случайном порядке в моей ShellView.xaml.
Как это сделать?
Как с ними связаться? Я хочу разместить их как UserControls в моем ShellView.xaml.
<Grid>
<ContenControl x:Name="Item1 or even the ViewModel name"/>
<ContenControl x:Name="Item2 or even the ViewModel name"/>
...
</Grid>
Спасибо. Почему это не работает, если я изменяю имя ViewModel с NameOfViewModel на _NameOfViewModel? Является ли «__» недопустимым в атрибуте x: Name? – user2799180
https://msdn.microsoft.com/en-us/library/vstudio/ms752290%28v=vs.110%29.aspx Должен соответствовать XamlGrammar, и я не верю, что префикс '_' будет работать. – mvermef