最终,我想使用 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 似乎有效。有任何想法吗?我最终想将图标放在靠近系统托盘的右下角。然后 - 我想制作向上幻灯片的动画。
最佳答案
原因是为了显示弹出窗口,caliburn 创建了一个 Wpf 弹出窗口,它不接受“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;
关于wpf - Caliburn.Micro 的 WindowManager.ShowPopup 及设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34644450/