wpf – 带有设置的Caliburn.Micro的WindowManager.ShowPopup

最后,我想使用Caliburn.Micro和 WPF为系统托盘中的滑动弹出设置动画.

到目前为止,我可以使用以下代码显示我的弹出窗口:

WindowManager.ShowPopup(new PopupViewModel());

但是这将显示我当前鼠标位置的弹出窗口.看起来该命令接受设置,但其中一些似乎不能很好地播放.

dynamic settings = new ExpandoObject();
settings.WindowStartupLocation = WindowStartupLocation.Manual;
settings.Top = 0;
WindowManager.ShowPopup(new PopupViewModel(), null, settings);

不将弹出窗口置于屏幕顶部,WindowStartupLocation.Center也不会使弹出窗口居中.但是,settings.Width和settings.Height似乎工作.有任何想法吗?我最终想把图标放在系统托盘附近的右下角.那么 – 我想动画一张幻灯片.

最佳答案 原因是,为了显示弹出窗口,校准会创建一个Wpf Popup,它不接受像“WindowStartupLocation”这样的属性.

您应该使用Popup对象的属性.

听到就是一个例子:

settings.Width = 200;
settings.PopupAnimation = PopupAnimation.Fade;
settings.Placement = PlacementMode.Absolute;
settings.HorizontalOffset = SystemParameters.FullPrimaryScreenWidth / 2 - 100;
settings.VerticalOffset = SystemParameters.FullPrimaryScreenHeight / 2 - 50;
点赞