问题标签 [adorner]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2813 浏览

c# - 使用属性控制装饰器的可见性?

是否可以根据类中属性的值隐藏/显示 Adorner?

我应该为此目的使用附加属性吗?

如果是这样,如何精确控制 Adorner 的可见性;我是否必须手动删除它/将其添加到依赖对象的 OnChanged 事件中的装饰层?

这只是我正在尝试做的一个非常快速的代码表示:

注意:我什至不确定它是否是正确的做事方式。我希望 Adorner 的可见性由我的业务模型中的代码修改的属性的值来控制。附加属性的问题是它是控件的责任来更新属性的值,而不是我的业务域中的代码。)

0 投票
2 回答
1890 浏览

wpf - 如何使用户控件在 wpf 的最顶层?

我有一个包含三行的网格。第一行包含哪个显示工具栏。第二行包含显示状态栏。第三行包含绑定到可观察集合的数据的列表框。

当满足某些条件时,我需要显示弹出窗口。

我想使用弹出窗口,弹出窗口的问题是当我移动窗口时它不会随父控件一起移动。

所以我决定创建一个用户控件(比如 mypopup),它以编程方式添加到具有更高 ZIndex 的第二行,问题是即使我设置了更高的索引,它也会落后于 ListboxItems。

a)对此有任何解决方案吗?

作为一种解决方案,我认为将 Adorner 用于该用户控件(mypopup),问题是我的用户控件(mypopup)包含按钮和复选框,在应用装饰器后,这些控件无法访问。

b)任何想法让我的用户控件与装饰器交互?

0 投票
4 回答
4047 浏览

c# - C# WPF - 装饰器 ZIndex

我有一个带有装饰器的网格来提供一些绘制的图案。见图片:http: //imgur.com/D649W

我的问题是这个装饰器(网格上的点)是分层的。白色方块是可拖动的,但现在当装饰器在顶部时,我无法拖动。我希望该层位于添加到网格的每个组件的后面。关于如何设置 ZIndex 的任何建议?

谢谢。

下面的代码:

我按下按钮,将 MyAdorner 添加到网格中。MyAdorner 看起来像这样:

0 投票
1 回答
447 浏览

asp.net - 使用 ASP.Net 对图像的橡皮筋效应

我正在尝试为图像添加水印并完美运行,现在我需要让我的客户更加方便,以便我计划为图像水印添加可行性。所以我需要一些帮助!

我想要一个装饰控件或类似橡皮筋效果的东西,它有 4 个 0r 6 个角,这样他们就可以用它来放大文本。

我看过codeproject中的一篇文章,它是用WPF实现的,如下所示。但是我需要用我的普通ASP.Net应用程序来实现。那么我该如何开始呢?

在此处输入图像描述

任何帮助将不胜感激!

0 投票
2 回答
547 浏览

c# - 为绑定的孩子添加装饰器?

这是我的代码。没问题。我创建了一个装饰器,我想在需要时为每个按钮添加一个装饰器。这有点困难,因为我不知道如何获得按钮。CanvasTableMap.Items 返回模型,所以我不知道如何有效地访问控件。

0 投票
4 回答
1342 浏览

wpf - 拖放错误:无法访问没有装饰器的元素上的装饰器

我正在实施此处提到的拖放解决方案:

http://bea.stollnitz.com/blog/?p=53

我的ListBoxes + with WrapPaneland Items 很少。我应该能够将项目从任何盒子拖放到任何其他盒子。

当我拖动一个项目并将其移动到另一个框时,它会引发错误:

无法访问没有装饰器的元素上的装饰器。

在这一行:

我试图查看 AdornedElement 的值,我看到它有这个值:

ListBoxItem : DisconnectedItem. 我看到了内容,ListBoxItem似乎它也有断开连接的项目。

如果我使用相同的列表框移动我的项目,也会发生此问题。我的列表框使用 wrapPanel 作为ItemsPanelTemplate.

层次结构树是这样的列表框是:

1 列表框:UserControl Border Grid Grid Border Border Border ScrollViewer ListBox ItemsPanel

其他 3 个 ListBoxes : UserControl Border Grid Grid Grid tabControl tabItem Grid Border Border Border ScrollViewer ListBox ItemsPanel

遇到此问题或可以帮助我的任何人出了什么问题?

  • 吉里哈
0 投票
1 回答
2483 浏览

c# - DrawingContext 装饰器 - 可以绘制堆栈面板吗?

使用DrawingContext该类,我已经能够使用该DrawRectangle()方法成功地将装饰器添加到我的 adornedElement。

是否可以构建一个堆栈面板,里面有一个文本框和图像 - 并将其指定为装饰器?

顺便说一句,我使用的是 Visual Studio 2010——不是微软的表达。

非常感谢,

0 投票
1 回答
1041 浏览

wpf - 无法访问没有装饰器的元素上的装饰器

我尝试使用 MVVM 在 WPF 上进行一些拖放

我从 Bea Stollnitz http://bea.stollnitz找到了这个链接,它在这里提出了一个带有 DragDropHelper 的解决方案:https ://github.com/bstollnitz/old-wpf-blog/tree/master/46-DragDropListBox

但是当我尝试使用一些事件生成组件(例如数据模板中的按钮或单选按钮)对其进行自定义时,我在拖放时遇到此错误

“无法访问没有装饰器的元素上的装饰器。”

在这条线上

this.adornerLayer.Update(this.AdornedElement);

您可以通过下载 bea.stollnitz.com/files/46/DragDropListBox.zip 轻松复制它

并更换

经过

即在模板中添加一个单选按钮

我已经找到了一些链接,但它们都没有解释解决问题的明确方法。

没有事件传递给 WPF 装饰层

建议添加此代码

VisualCollection 视觉儿童;框架元素 @object;

但我确定在哪里添加它以及此链接的相同内容

http://social.msdn.microsoft.com/Forums/en/wpf/thread/e6643abc-4457-44aa-a3ee-dd389c88bd86?prof=required

那个提议

这个最后一个链接谈论一个.NET 4问题,但我也有3.5的错误

0 投票
1 回答
2223 浏览

c# - MeasureOverride 和 ArrangeOverride 没有被调用

我正在使用来自WPFExtensions的 ZoomControl 。源代码在这里

我用 OnRender 方法添加了装饰器:

使用 ZoomControl xaml:

应用装饰器:

当我拖动图像控件时,我的装饰器没有移动。

我尝试过覆盖 ArrangeOverride 和 MeasureOverride:

但是没有效果。输出窗口中没有任何内容,并且装饰器没有移动。

当我放大时 - 一切都很好。Adorner 会根据图像控件的变化改变它的位置。

问题出在我的代码中还是在 ZoomControl 中?

示例应用程序在这里

解决方案:

我不得不将我的画布放入 AdornerDecorator:

说明在这里

0 投票
1 回答
548 浏览

c# - 在装饰器和装饰控件之间交换参数

我需要在装饰器和装饰控件之间传递一些参数。

如何做到这一点?每次参数更改时,我是否应该删除并添加带有新参数的新装饰器?

例如,我的参数之一:

在装饰器 Theta 中: