【问题标题】:Clip a wpf Popup at bounds of a main window在主窗口的边界处剪辑一个 wpf 弹出窗口
【发布时间】:2010-10-27 16:48:03
【问题描述】:

据我了解,弹出窗口存在于它自己的可视化树中。但是,我注意到了一些属性,Clip 和 ClipToBounds。我想要做的是在窗口的右侧和底部边缘可视地剪辑弹出窗口,而不管弹出窗口独立于窗口边界的事实。我没有使用 XAML,但如果有人知道如何在 XAML 中进行操作,那很好。我可以使用 System.Windows.Application.Current.MainWindow 进入主窗口。是否有可能从中获得可用于剪辑弹出窗口的值?我假设如果有一个我可以使用的值,那么我将能够将弹出窗口的剪辑绑定到该值。这实际上是没有必要的,因为在弹出窗口最初打开后,如果窗口被移动或调整大小,弹出窗口就会关闭。所以我真的只需要在弹出窗口打开时对其进行剪辑。我想这样做的原因是因为虽然我使用的是弹出窗口,但我不希望它显示为存在于窗口之外的弹出窗口。仅供参考,这是用于自定义日期框的弹出日历。任何想法,以及澄清我可能有的误解,将不胜感激。

【问题讨论】:

    标签: wpf popup window clip


    【解决方案1】:

    此外,可以从不直接在主窗口上的用户控件启动弹出窗口。因此,在这种情况下,使用弹出窗口会更容易。与 XAML 中的 UC 相对

    【讨论】:

      【解决方案2】:

      我知道这是一年前的帖子,但万一其他人来这里寻找答案...如果您不需要弹出窗口位于窗口之外,为什么要使用弹出窗口呢?简单地使用画布中的控件(例如)并通过其 Visibility 属性控制它会容易得多。然后你会自动得到你的剪辑。

      【讨论】:

      • 我正在使用一个弹出窗口,以便它覆盖 WPF 应用程序上托管的 WinForm 控件。似乎没有其他东西能够覆盖 Winform,因此弹出窗口是唯一的选择。无法在屏幕边界之外呈现弹出窗口令人沮丧。
      • 我正在使用一个弹出窗口,因为我的窗口有一个 <StackPanel> 作为它的内容根,里面有一个 <DataGrid>,没有立即明显的方法来显示进度/活动微调器的顶部DataGrid 没有 Popup
      猜你喜欢
      • 2020-04-17
      • 1970-01-01
      • 2017-09-06
      • 2011-06-05
      • 1970-01-01
      • 2012-07-15
      • 2016-05-10
      • 2022-01-01
      • 2012-11-19
      相关资源
      最近更新 更多