wpf - Caliburn.Micro 的 WindowManager.ShowPopup 及设置

标签 wpf xaml caliburn.micro

最终,我想使用 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/

相关文章:

c# - LiveCharts - 从列表中绘制 x&y

c# - 如何防止 Xamarin.Forms.Entry 键盘在按下按钮时失去焦点

c# - 2 个 XAML 使用相同的 ViewModel 类,但有 2 个单独的实例

WPF MVVM - 在 View 模型类中使用模型

wpf - Caliburn.Micro:无法关闭选项卡

wpf - 为 WPF 复选框的不确定状态设置样式

c# - 将项目添加到模型 C# wpf 时更新可观察集合

wpf - 使用RX来减少鼠标移动事件的频率

wpf - 更改 UIElement 的角度

c# - 将色带控件与 Caliburn Micro 接口(interface)的好方法是什么?