20得票1回答
WPF修饰层位于窗口之外

我有一个带有文本框控件的WPF窗口。当文本框具有键盘焦点时,该控件会显示装饰器。 如下面的屏幕截图所示,装饰器受限于窗口的边界。如何使整个装饰器都显示出来? 装饰器模板为:<DataTemplate x:Key="ContextualInfoDataTemplate"> ...

7得票4回答
在WebBrowser控件上显示装饰器

我在我的应用程序中使用System.Windows.Controls.WebBrowser进行各种操作,但是我注意到当它们应该出现在WebBrowser上方时,装饰会被裁剪。我知道WebBrowser控件实际上是COM组件的包装器,可能呈现方式不同,但我想知道是否有人解决了这个问题。 这就是...

8得票3回答
WPF拖放源代码

几乎所有与WPF中的拖放相关的StackOverflow问题都会回溯到这篇文章。但是文章的源代码已经丢失。是否有人有备份或知道在哪里可以找到备份? 附言:我主要关心这篇文章中的一行话:“DragAdorner中有更多的代码,但主要用于定位adorner如何随着拖动而发生变化...请参考示例...

7得票2回答
WPF验证控件模板重叠问题

我有一个用户控件,其中包含一个控件模板用于显示验证错误,即验证模板: <ControlTemplate x:Key="TextBoxPropertyValidationTemplate"> <StackPanel> <Bo...

12得票4回答
GetAdornerLayer 返回 null 的神秘原因

我一直在使用同样的代码版本来开发我的应用,并且没有遇到任何问题,但是现在却神秘地收到以下的NullReferenceException异常:this.Loaded += delegate { deleteBrush = new DeleteBrushAdorner( backgroun...

10得票2回答
如何在WPF中的控件顶部显示进度条

在一个WPF UserControl中,我需要调用一个Web服务。我在单独的线程上进行此调用,但是我想通知用户调用可能需要一些时间。 WebMethod返回一个对象集合,并将其绑定到UC中的ListBox上。到目前为止,一切都很好...... 这部分工作得非常好。然而,我想在调用期间显示进度...

56得票1回答
何时应该使用装饰器?

WPF很棒,因为有许多方法可以实现你的目标。例如,据我所知,装饰器可以向UI元素添加一些控件,但我认为通过包含附加元素的自定义控件也可以实现相同的行为。 那么,我的问题是:在什么情况下应该优先使用装饰器,而不是更复杂(但我认为更灵活)的自定义控件? 请考虑到我广泛使用MVVM模式,并且我想将...

8得票2回答
如何在视图模型重新加载绑定的数据时显示“正在加载...”覆盖层

我想做一件听起来非常简单的事,但我发现很难实现。 假设有一些内容需要进行缓慢加载操作,例如从本地SQL检索可观察列表并需要几秒钟。在此期间,我希望通过“正在加载…”文本或其他“请稍候”类型的内容叠加在内容呈现器(例如Groupbox)上。 我很快得出结论,在操作之前和之后简单地切换绑定到U...

20得票2回答
为什么我的装饰器在应用它的元素改变时没有重新渲染?

在我正在构建的用户界面中,每当面板中的控件获得焦点时,我希望装饰该面板。因此,我处理了IsKeyboardFocusWithinChanged事件,并在元素获得焦点时添加装饰器,并在失去焦点时移除装饰器。这似乎运行良好。 我的问题是,如果装饰元素的边界发生更改,则装饰器不会重新渲染。例如,在...

9得票2回答
能否清除装饰层?

我可能误解了WPF中adorner layers的概念,但我成功地将一个TextBlock添加到了StackPanel的adorner layer。 我该如何清除adorner layer?比如说,使StackPanel不再具有TextBlock在其adorner layer中?