Tag: 弹出窗口

Popup未关闭事件Stayopen设置为False

我使用以下代码片段来定义Popup。 代码段[XAML]: 我使用以下代码片段打开弹出窗口 代码片段[C#]: private void FilterButton_OnClick(object sender, RoutedEventArgs e) { this.FilterPanel.IsOpen = true; } Scenorio: 使用按钮单击打开弹出窗口。 按Tab键。 焦点移动到TextBox。 实际行为: 弹出窗口没有关闭。 预期行为: Popup应该关闭。 在这里我已经附上了简单的样本。请您仔细阅读并提供指导以存档我的要求。 提前致谢。

增加WPF PopUp动画的持续时间

我有一个WPF PopUp控件,我用它来显示菜单覆盖,我正在使用默认的淡入淡出动画。 但是我想让动画花费更长的时间才能完成。 无论如何我可以在XAML中做到这一点吗?

C#/ WPF:将弹出控件放在屏幕中心?

有谁知道如何在屏幕中心放置一个弹出控件? 谢谢!

隐形打开弹出窗口

第二天打这个问题。 要重现,请创建新的WPF应用程序xaml Some random text Popup 和代码 private void Button_MouseMove(object sender, MouseEventArgs e) { popup.IsOpen = true; } 鼠标hover按钮打开弹出窗口,单击其他位置关闭。 单击按钮有bug:popup是IsOpen == true (可以在复选框上看到或在处理程序中有断点),而它是不可见的。 WTF? 而我的原始问题似乎是IsOpen设置不是即时的 。 例如,当我尝试在Popup的MouseMove事件中将其设置为false时,我在此期间获得了Button MouseEnter和MouseMove事件。 IsOpen = true; 与将其设置为true相同,有2(!)个MouseMove事件发生,将此行放入事件处理程序以查看它 System.Diagnostics.Trace.WriteLine(“M”); 在VS的输出窗口中将有2 M,而Popup (当StayOpen=false )假设捕获鼠标事件并且确实如此,但不是立即 。 有人可以解释一下它发生了什么吗? 我希望在 (或之后不久?如何检查这是否属实?)设置IsOpen时不会发生任何事件。 已经尝试了很多东西: Dispatcher.InvokeAsync ,变量,计时器等。

使WPF弹出窗口不受屏幕限制

Popup的默认行为是,如果它被放置在超出屏幕边缘的位置,Popup将重新定位自身。 有没有办法解决这个问题? 我有一个用户可以在屏幕上拖动的Popup。 但是,当它到达边缘时会卡住。 它会卡在边缘并停留在那里,直到鼠标被拖离边缘。 此外,我有两个显示器,当Popup被拖到边缘时,两个显示器共享我闪烁。 弹出窗口在两个监视器之间闪烁。

在窗口范围内保持弹出窗口

我正在尝试在按钮下显示弹出窗口。 这就是现在的样子: 但我希望它保持在窗口边界内,就像这样(油漆中的例子) 这是我在顶部声明弹出窗口的顶部栏:

避免在C#/ .NET中“程序停止工作”

我有一个用C#/ .NET编写的控制台应用程序,我想从脚本(nant)运行。 如果在控制台应用程序中发生exception,我不想继续,但在Windows Vista中有一个弹出窗口,它会搜索解决方案并要求调试等。 当控制台应用程序中发生exception时,我想避免使用“程序停止工作”的弹出窗口。 如何从C#/ .NET控制它? (类似的问题解决了C语言的问题 ,但我想要一个C#/ .NET的解决方案。) (澄清一下:我希望将exception传递给nant,但没有弹出窗口。)

如何在控件外部单击时关闭Silverlight中的弹出窗口?

在我的Silverlight UI中,我有一个按钮,当单击时会弹出一个带有一些过滤参数的控件。 当你在它外面点击时,我希望这个控件隐藏起来。 换句话说,它应该以类似于combobox的方式运行,但它不是combobox(您不选择其中的项目)。 这是我试图捕获控件外部的点击以解除它的方式: public partial class MyPanel : UserControl { public MyPanel() { InitializeComponent(); } private void FilterButton_Click(object sender, RoutedEventArgs e) { // Toggle the open state of the filter popup FilterPopup.IsOpen = !FilterPopup.IsOpen; } private void UserControl_Loaded(object sender, RoutedEventArgs e) { // Capture all clicks and close the popup App.Current.RootVisual.MouseLeftButtonDown += delegate […]