问题标签 [errortemplate]

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 回答
137 浏览

wpf - 携带错误消息的元素仅在验证时部分显示

TextBox这是我要验证的元素的标记:

TextBox's error template定义如下:

现在,当TextBox控件上的验证失败时TextBlock,错误模板中定义的元素只会部分显示。请看这张图片:

应用截图

您能否建议如何解决?

0 投票
1 回答
701 浏览

wpf - WPF Validation.ErrorTemplate 背景对象

我想替换 Validation.ErrorTemplate 的正常行为。我想在我自己的 UserControl 后面放置一个背景边框对象(用红色填充),然后应用一个简单的彩色动画来闪烁它。

我在我的隐式控制风格中尝试了这个:

不幸的是,边框对象完全覆盖了控件 UI。另一个问题是:将 DoubleAnimation 应用于 Opacity 以使我的背景闪烁的正确位置在哪里?我应该触发哪些属性/事件?我应该使用样式还是简单地将其放在 Border.Triggers 中?

谢谢

0 投票
1 回答
86 浏览

c# - 页面中的控件未显示错误模板

我在页面中有一个文本框,该文本框绑定到已验证的模型属性,当出现错误时,不会显示错误模板!

几点:

  1. 我对自己的窗口中的控件没有验证问题(不在窗口内框架中显示的页面内)。
  2. 错误模板有效,它显示为窗口内的控件。
  3. 该模型正在验证,因为当识别出验证错误时页面中的“保存”按钮被禁用。

我“认为”问题在于控件位于框架内托管的页面内,因此数据上下文没有传递到页面,因为它似乎是孤立的。会是这样吗?如果是这样,我该如何解决这个问题?如果不是,那还能是什么?

代码(我当然简化了代码以隔离问题):

如果我可以添加任何进一步的信息或代码,请告诉我!

0 投票
0 回答
132 浏览

c# - 通过 Binding Markup Extension 获取 Source 属性的 PropertyInfo

我正在通过模型属性中的属性处理错误模板

所以,每当绑定发生时,我想读取与源属性关联的自定义属性并将适当的验证规则添加到绑定

但考虑到绑定中的闲置场景,我无法找到简单的方法来获取属性信息 1. 相对源的可能性 2. 扩展绑定,如 Vm.SomeModel.Somotherobj.SomeProperty 3. 索引器

是否有任何简单的方法可以从 Binding 标记扩展中获取源的 PropertyInfo?

0 投票
1 回答
490 浏览

c# - XamlParseException 错误模板

我在验证错误模板和样式上有一个 XamlParseException。

我不知道问题是什么。

xml:

字典:

模型:

我得到的错误

类型的第一次机会异常'System.Windows.Markup.XamlParseException'发生在PresentationFramework.dll.

附加信息:指定的值System.Windows.Markup.StaticResourceHolder引发了异常。

谢谢

0 投票
1 回答
1788 浏览

android - 在 EditText 上自定义错误文本边框 android

我想创建具有含义完整边框errorText的自定义。EditText

给出带有红色边框的错误消息,这有助于显示它是必需的或验证字段。

我创建了自定义错误消息,其中只有图标差异。

用于更改错误消息图标的截图:-

这是它的样子。

我得到了什么

我在找什么:-

我在寻找什么

但作为工具提示或红色边框的东西有点引人注目。

我们可以修改那个errorBox的修改吗?

0 投票
1 回答
562 浏览

wpf - 在 ContentPresenter 中确保 AdornmentDecorator,但没有 ControlTemplate

我已经搜索了很多,似乎无法破解这个坚果。

我有一个主视图动态变化的应用程序,为此我使用内容演示器与控件绑定:

然后我在运行时在我的视图模型中更改 MainControl。问题是被绑定的控件不能可靠地显示它们的错误模板......我怀疑这是由于这里讨论的原因:

验证错误模板未显示数据错误

但是这个问题的修复似乎对我不起作用,因为我没有在我的内容演示者周围使用控制模板。当我将 AdornmentDecorator 标签包裹在我的内容演示者周围时,它似乎并没有解决问题。如果我在加载到 contentpresenter(作为根元素)的每个控件中放置一个 AdornmentDecorator,它确实有效,但如果可能的话,我想避免这种重复。

有什么见解吗?

更新

我尝试了丹尼斯建议的这种方法,但无济于事。控件绑定没问题,但它的效果并不比当前方法好(也显示在下面的注释中)。注意:我尝试使用 AdornerDecorator 作为单例元素,就像 Dennis 一样,并围绕 ContentPresenter,如下所示。两者都没有显示出任何差异 - 当 MainControl 绑定发生变化时,我的控件周围的装饰物都会消失。

0 投票
1 回答
1698 浏览

wpf - Validation.ErrorTemplate 访问 AdornedElementPlaceholder 上的属性

我想让我的错误模板看起来不同,具体取决于装饰控件上的某些属性值。

如下设置 TargetType 会导致运行时异常:“TextBox”ControlTemplate TargetType 与模板化类型“Control”不匹配。因此,ErrorTemplate 似乎必须使用“Control”的 targetType。

我删除了targetType,然后尝试了这个:

然后这个,没有产生异常,但也没有效果:

而这个,没有产生任何例外,但也没有效果:

最后是这个,它产生了“BindingExpression 路径错误:‘对象’‘AdornedElementPlaceholder’上找不到‘IsReadOnly’属性”:

有没有人对如何在 ErrorTemplate 中引用依赖属性有任何其他想法?

0 投票
0 回答
144 浏览

wpf - 使 ComboBox 上的样式中的 ErrorTemplate 允许工具提示但不允许鼠标单击

我使用telerik,但这对这个问题意义不大。我的应用程序是 WPF (.Net 4.5)。

我有一个样式,用于所有组合框,它有一个错误模板。样式如下所示:

我的 ErrorTemplate 看起来像这样:

整个事情在一个全局 ResourceDictionary 中定义。

这段代码的作用是在组合框(Panel.ZIndex="999")的顶部放置一个“禁止标志”,就在下拉按钮之前(使用边距)。Border 和 Rectangle 使一个标志很像这样:Picture

组合框本身必须能够保存在本地设置的工具提示。所以错误消息不能显示在组合框的工具提示中 - 除非我找到一种方法来组合两者而不必在本地解决它(我希望我的资源字典中的代码)。

我也不希望“禁止标志”处理鼠标点击(如果用户点击“禁止标志”,它会吞噬点击并防止组合框下拉。

我尝试在错误模板内的网格和边框上将 IsHitTestVisible 设置为 false,但这导致工具提示永远不会显示。我还尝试在相同的两个控件上将 IsEnabled 设置为 false,但这不会将鼠标点击发送到组合框本身(组合框中的列表不会下拉)。

有没有办法直接在组合框样式或错误模板中执行此操作?我什至不介意后面有代码——但我真的不想在使用组合框样式的地方添加代码。

0 投票
2 回答
1731 浏览

wpf - WPF 验证 - 在 StackPanel 中显示元素的错误

我在如何为垂直 StackPanel 中的 TextBox 元素显示验证错误时遇到问题。我正在尝试在 TextBox 下方显示错误消息。

我有这个错误模板:

如果我在 TextBox 下方有足够的空白空间,则错误会很好地显示,但在 StackPanel(例如)中,由于装饰层,它不会在有一些错误消息时为错误消息添加额外的边距或填充。

根据此消息来源,预计会如此:

请注意,Validation.ErrorTemplate 将显示在装饰层上。装饰层中的元素呈现在其余可视元素之上,当布局系统测量和排列装饰元素层上的控件时,它们不会被考虑。

如何显示验证错误消息,以便它们不会显示在 StackPanel 中的其他元素上?