我正在尝试通过使用两个导出的视图来创建工具栏。第一个视图具有按钮A,D,E,第二个视图具有按钮B,C。我想通过将两个视图都放到新视图中来创建工具栏。问题是如何将第二个视图放在按钮A之后的第一个视图内。
所以,按钮的排列应该像
A,B,C,D,E(预期安排)
这是将其并排放置的工作代码,即
A,D,E,B,C
这是将放置两个视图的用户控件ToolbarView.xaml
<UserControl x:Class="Dummy.Views.ToolbarView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:prism="http://prismlibrary.com/"
mc:Ignorable="d">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width ="0.5*"/>
<ColumnDefinition Width ="0.5*"/>
</Grid.ColumnDefinitions>
<ContentControl prism:RegionManager.RegionName="RegionForFirstView"/>
<ContentControl Grid.Column="1" prism:RegionManager.RegionName="RegionForSecondView"/>
</Grid>
这是将获取导出的视图并构造工具栏的代码:
ToolbarView toolbarView = new ToolbarView();
var scopedRegionManager = _myRegionManager.CreateRegionManager();
RegionManager.SetRegionManager(toolbarView, scopedRegionManager);
navParams.Add("regionManager", scopedRegionManager);
scopedRegionManager.RequestNavigate("RegionForFirstView", "ExportedView1", navParams);
scopedRegionManager.RequestNavigate("RegionForSecondView", "ExportedView2", navParams);
ToolbarContent = toolbarView;
内容控件的默认区域适配器无法执行此操作。
您有两个选择:
如果按钮是静态的,并且仅由配置决定,我会选择选项二,因为它很容易。如果按钮是动态变化的,我猜第一个选项更有意义。如果您不需要动态删除按钮,那是因为您不能取消对区域视图的导航。