【发布时间】:2018-07-26 19:22:53
【问题描述】:
我有一个问题,但在统计中我会描述你我在问什么。
我正在使用 Caliburn.Micro 框架制作应用程序。我想做的是制作多个ActiveItem(如UserControl)但同时显示一个。比如:
<ContentControl x:Name="ActiveItem_1"/>
<ContentControl x:Name="ActiveItem_2"/>
<ContentControl x:Name="ActiveItem_3"/>
<ContentControl x:Name="ActiveItem_4"/>
我选择通过Buttons显示哪个UserControl
所以我只想同时打开一个UserControl(当我打开一个时,第二个不允许打开)。
我的 ViewModel.cs 看起来像这样:
using Caliburn.Micro;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TaskManager.ViewModels
{
class MainWindowViewModel : Conductor<IScreen>.Collection.OneActive
{
public void LoadLoginPage()
{
ActivateItem(new LoginViewModel());
}
public void LoadTasksPage()
{
//And here i have no idea what to do,
//how to make another UserControl to be ActiveItem
}
}
}
那么,如何将这对用户控件命名或编码为 OneActive?我可以使用一个 UserControl 并更改它的大小和边距,但我认为它会比更改 UserControls 更复杂
感谢您的建议!
【问题讨论】:
标签: c# wpf mvvm caliburn.micro