问题标签 [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 回答
1248 浏览

wpf - WPF - 视图转换后装饰器保持在原始位置

我定义了一个控件模板,称为 myVal,用于验证 - 然后将其用于样式定位文本框中,其中其 Validation.ErrorTemplate 设置为

现在假设有许多这样的文本框位于视图中,并且使用 TranslateTransform 和 BeginAnimation 滑动。

结果是 ErrorTemplate 中使用的装饰器在视图转换时没有跟随文本框的位置 - 而是保持在起始位置。但是,一旦我设置焦点或鼠标移动等事件,装饰器就会根据文本框正确地重新定位自己。

如何在不改变焦点的情况下让装饰物在转换后显示在正确的位置?有没有办法将验证延迟到过渡之后......或者动画完成后如何“重新验证”属性?我在某处读到了有关调用 invalidatevisual 的信息,但不知道该怎么做。任何帮助深表感谢。

干杯

0 投票
3 回答
2823 浏览

wpf - 如何将 wpf 弹出窗口中的 IsOpen 属性设置为 True?

我有这种 wpf 风格:

我希望如果鼠标悬停在 Adorner 上,那么 Popup 会打开,但IsOpen="{Binding ElementName=Adorner, Path=IsMouseOver}不起作用...

0 投票
1 回答
883 浏览

wpf - 由 Adorner 在 wpf 中拉伸多边形

我有一个带轮廓的多边形(装饰器的四个角有四个拇指)。当我用拇指改变或改变高度时,多边形点不会改变它们的值,但多边形会很好地改变它的宽度和高度。

我的意思是如果我有多边形有点 ((10,20),(50,160),(300,10)) 当我拉伸多边形时点不会改变

0 投票
1 回答
470 浏览

c# - 将装饰图像复制到剪贴板

我有一个System.Windows.Controls.Image装饰有几个装饰品的。现在我想将装饰图像复制到剪贴板。到目前为止,我有这行代码:

但是,这只会复制图像本身;不包括装饰品。有没有办法包括装饰器?

编辑:这是一些显示我如何装饰的代码myImage

MyAdorner是 的子类System.Windows.Documents.Adorner。我认为实施的细节并不重要。

0 投票
2 回答
986 浏览

c# - 在 RichTextBox 中打印装饰层

我有一个richTextBox编辑器,其中包含adorner每个单词顶部的图像层。
我想以良好的格式打印文档并打印adorner图片图层。
有没有办法我可以做到这一点?
我试过PrintDialog了,但它没有打印装饰层。

0 投票
1 回答
1453 浏览

.net - Adorner 上的工具提示不显示

我有一个如下定义的装饰器:

ErrorMessage并且是在封闭类 ( )Icon中声明的附加属性。ErrorProviderErrorMessage属性设置为非空值时,装饰器被添加到元素中。

我的问题是,虽然正确渲染了装饰器,ToolTip但当我将鼠标移到图像上时,图像上的 不会显示。我知道这不是绑定问题:当我使用 Snoop 检查控件时,我可以看到该ToolTip属性具有预期值。我怀疑这个问题与命中测试有关,因为我无法在装饰器中接收到任何与鼠标相关的事件......该IsHitTestVisible属性设置为 true,所以我不明白为什么我没有收到这些事件。

任何想法?

0 投票
1 回答
1276 浏览

wpf - 如何在 AdornedElementPlaceholder 上使用 TextTrimming 获取 Textblock?

如果用户尚未指定值,我正在尝试获取 ValidationRule 以在有问题的组合框上显示文本。我可以让它显示,但我似乎无法使用 TextTrimming="CharacterEllipsis" 使文本适合组合框的大小。如何让 TextBlock 适合组合框,并且如果用户调整窗口大小也可以更正自身?

这是我的 MainWindow.xaml:

这是我的 MainWindow.xaml.cs:

这是我的 MyValidationRule.cs 文件:

任何帮助将非常感激!谢谢,谭

0 投票
1 回答
799 浏览

wpf - 在 WPF 中使用 Controls.Popup 作为错误装饰器的问题

我的(简化的)验证模板是

装饰元素通常是一个文本框

这种方法的问题是,只要我在文本框内单击,ErrorPopup 就会消失,而 ErrorAdorner 仍然可见。期望的行为是两者都应该保持可见。

尝试的事情:

  1. 在 ErrorPopup 上将 StaysOpen 设置为 true。问题:当您在错误可见时调整/移动父窗口的大小时,ErrorPopup 保持在同一位置,它不会与文本框一起移动
  2. 在文本框(装饰元素)和错误消息文本块周围使用 StackPanel。问题:弹出窗口带有定位功能,即,如果文本框下方没有足够的屏幕区域供装饰器使用,它会自动重新定位它。但是如果使用堆栈面板,如果没有空间,错误消息就会被切断,或者它会改变文本框布局(不需要)

所以本质上,我想使用弹出窗口的位置功能,但不知何故想解决可见性问题

0 投票
1 回答
353 浏览

wpf - wpf datagrid FrozenColumnCount 和带有装饰器的用户控件

我有一个 FrozenColumnCount 设置为一个的 DataGrid 和一些 DataTemplateColumns ,其中包含一个使用装饰器的控件(简单地说,一个带有装饰器的文本框,它显示文本“单元”或类似的东西)。如果我使用 Horizo​​ntalScrollbar,则装饰器位于固定列之前。我怎么解决这个问题。

0 投票
1 回答
2651 浏览

c# - WPF:如何使用装饰器进行验证?

语境:

我正在使用 WPF 4 创建一个登录界面,该界面由两个Labels 组成,一个TextBox(用于用户名)和一个PasswordBox. 两个元素使用相同的样式/模板。

用户名绑定到Username我的User模型类中的一个属性,该属性在 View 的 View-Model 中实例化(代表它的DataContext

密码使用代码隐藏事件更新模型(即:)OnPasswordChanged

我的模型中还有两个属性代表我的用户名和密码的有效状态,即:

  • UsernameIsValid
  • PasswordIsValid

这些属性由我的 View-Model 和 Service 类更新。

问题:

如何Adorner为这些元素创建一个Style并仅在UsernameIsValidorPasswordIsValid属性为 true 时显示它?

如果可能的话,我还希望将要在装饰器中显示的文本传入参数(这将是一个标注,显示文本和一个图标)