我从关于UICompositon的快速入门示例开始。在我的例子中,我有一个项目A来保存TabControl,一个项目B来保存DataGrid,它作为要注入TabControl的内容。
TabControl没有viewModels,它使用
<Style TargetType="{x:Type TabItem}" x:Key="HeaderStyleS">
<Setter Property="Header"
Value="{Binding RelativeSource={RelativeSource Self},
Path=Content.DataContext.ViewName}" />
</Style>
<TabControl regions:RegionManager.RegionName="TabRegion" ItemContainerStyle="{StaticResource HeaderStyleS}"></TabControl>
项目A只负责将自身注入项目C中定义的主shell;
regionManager.RegisterViewWithRegion("MiddleRegion", () => container.Resolve<MainTabWindow>());
项目B只负责将自己注入区域TabRegion
,该区域在A.
regionManager.RegisterViewWithRegion("TabRegion", () => container.Resolve<MetroDataGrid>());
现在问题是视图 - Gui上没有显示B's Datagrid
。唯一可行的部分是ViewName
,它会验证Content.Datatext
是否正确使用。但为什么Content DataGrid
未显示?