首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >飞出RegionAdapter第一次不使用幻灯片效果

飞出RegionAdapter第一次不使用幻灯片效果
EN

Stack Overflow用户
提问于 2015-05-27 05:50:04
回答 1查看 670关注 0票数 0

在我的应用程序中,我使用PrismMahApps.metro。我为FlyoutsControl创建了一个FlyoutsControl,这是一个很有魅力的东西。

唯一的问题是,当我第一次将视图导航到Flyout Region,中时,Flyout会弹出,而不是从侧面滑入。

我可以想象这是因为它是在运行时创建的,并在运行时添加到FlyoutsControl中,但是是否有可能创建Flyout,将其添加到FlyoutsControl中,然后通过幻灯片显示它呢?

仅仅将IsOpen属性设置为false然后打开就不起作用:(

EN

回答 1

Stack Overflow用户

发布于 2015-10-25 11:30:15

我试图做同样的事情,并有问题,但后来我想出了解决办法。

  1. 首先,在FlyoutRegion上定义区域名FlyoutsControl
  2. 创建RegionAdapter并在Bootstrapper中注册它。 导出公共类FlyoutsControlRegionAdapter : RegionAdapterBase { ImportingConstructor公共RegionAdapterBase工厂):基(工厂){}受保护的覆盖无效适配(IRegion区域,FlyoutsControl regionTarget) { region.ActiveViews.CollectionChanged += (s,( e) => { if (e.Action == NotifyCollectionChangedAction.Add) { foreach (e.NewItems中的FrameworkElement元素)flyout.Content =元素;flyout.DataContext = element.DataContext;regionTarget.Items.Add(跳出);} };}受保护的重写IRegion CreateRegion() {返回新的AllActiveRegion();} 内置Bootstrapper 受保护的覆盖RegionAdapterMappings ConfigureRegionAdapterMappings() { var映射= base.ConfigureRegionAdapterMappings();base.ConfigureRegionAdapterMappings Container.GetExportedValue();返回映射;}
  3. 最后,使用FlyoutRegion注册所需的视图。 regionManager.RegisterViewWithRegion("FlyoutRegion",型(FlyoutView);

这里的诀窍是公开IsOpenPosition属性,并将其与FlyoutView关联。

您可以参考这个代码工程链接的详细信息

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30474146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档