我正在尝试创建一个类似MDI选项卡式界面的界面,以便在左侧有一个导航窗格(一个列表框),在右侧有一个ContentPresenter。
我有一个ShellViewModel,上面有一个名为AvailAbleScreens的BindableCollection,我成功地用ListViews数据模板绑定到该列表:
<ListView x:Name="AvailableScreens">
<ListView.ItemTemplate>
<DataTemplate>
<WrapPanel>
<BulletDecorator />
<Button x:Name="DisplayView">
<TextBlock Text="{Binding Path=Name, UpdateSourceTrigger=PropertyChanged}" />
</Button>
</WrapPanel>
</DataTemplate>
</ListView.ItemTemplate>
在MdiViewModel类中,该按钮有以下代码:
public bool CanDisplayView()
{
return true;
}
public void DisplayView()
{
MessageBox.Show("Hello");
}
无论如何,目前Shell的ViewModel非常简单:
ShellViewModel
* AvailableScreens
-MdiViewModel1
-MdiViewModel2
* CurrentActiveScreen
你知道我该怎么做吗卡利伯恩。微型?Rob Eisenberg在Twitter上向我建议,我可能想从Caliburn.微型在进入成熟的Caliburn框架之前。