我正在为游戏实现编辑器,遇到了我似乎无法弄清的轻微不便之处。我的Google-fu还是无法找到答案,无论我想要的东西是否可行。
我的编辑器基本上为它管理的每个对象都有一个详细信息窗口,此详细信息窗口始终是相同的:一个选项卡控件,在选项卡上带有一个名为“属性”的标签,以及一个或多个特定于该窗口所针对对象的选项卡。
我认为拥有BaseEditor.xaml会很好,它具有定义了Properties-tab的TabControl,您可以根据需要扩展和添加更多选项卡。
我尝试了多种解决方案,一种方法是制作一个UserControl,在其上添加一个TabControl,然后向其添加一个CompositeCollection,该绑定到后面的代码中的一个属性上,当我将usercontrol添加到其中时,可以对它进行技术上的修改。一个窗口。但是,它一点也不起作用,我也不满意必须将UserControl添加到Window而不是从Window扩展的事实。
总而言之,这是我的第一次尝试:
<UserControl>
<Grid>
<TabControl HorizontalAlignment="Left" Height="300" VerticalAlignment="Top" Width="300">
<TabControl.ItemsSource>
<CompositeCollection>
<CollectionContainer Collection="{Binding TabItems}" />
<TabItem Header="Properties" />
</CompositeCollection>
</TabControl.ItemsSource>
</TabControl>
</Grid>
</UserControl>
然后在Window上这样使用:
<Window>
<Grid>
<UserControl>
<UserControl.TabItems>
<TabItem Header="Test" />
<UserControl.TabItems>
</UserControl>
</Grid>
</Window>
这是伪代码,但是如前所述,它不起作用,它将仅显示properties-tab。
任何指针将不胜感激!
我最终制作了一个TabControl,您可以按需注册制表符(例如,通过RegisterTab
-method的方法,而不是尝试通过XAML定义它)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句