问题描述
我是棱镜的新手,所以也许我做错了。我有一个带有同步融合选项卡控件的应用程序,可以将视图分配给它。
这很好用。为了将标题添加到 TabItemExt,我添加了一个 regionadapter。
适应功能:
protected override void Adapt(IRegion region,TabControlExt regionTarget)
{
region.Views.CollectionChanged += (s,e) =>
{
switch (e.Action)
{
case NotifyCollectionChangedAction.Add:
foreach (Control item in e.NewItems)
{
if (item is TabItemExt)
regionTarget.Items.Add(item);
else
{
var foo = new TabItemExt();
foo.Content = item;
Binding myBinding = new Binding("Header");
myBinding.source = item.DataContext;
foo.SetBinding(TabItemExt.HeaderProperty,myBinding);
foo.DataContext = item.DataContext;
regionTarget.Items.Add(foo);
}
}
break;
case NotifyCollectionChangedAction.Remove:
foreach (TabItemExt item in e.OldItems)
{
regionTarget.Items.Remove(item);
}
break;
}
};
}
在这种情况下,Prism 会丢失一些导航内容,因为当我导航到视图时,不会调用 IsNavigationTarget 方法。
如果我不使用这个 regionadapter,它就会被调用。
我该怎么做?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)