问题标签 [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 投票
4 回答
34124 浏览

c# - WPF 中的验证错误样式,类似于 Silverlight

默认情况下,Validation.ErrorTemplateWPF中只是一个小的红色边框,没有任何ToolTip.

Silverlight 4中,验证错误的样式很好,开箱即用。

这是 Silverlight 4 和 WPF 中发生的验证错误的比较

银光 4
在此处输入图像描述
WPF
在此处输入图像描述

请注意,与我认为 Silverlight 中的出色外观相比,WPF 版本的外观非常平淡、乏味。

WPF 框架中是否存在任何类似的验证样式/模板,或者是否有人创建了样式精美的验证模板,例如上面的Silverlight版本?还是我必须从头开始创建它们?

如果有人想尝试一下,上面的验证错误可以用下面的代码重现,适用于SilverlightWPF

MainWindow/MainPage.xaml

主窗口/MainPage.xaml.cs

0 投票
2 回答
970 浏览

c# - 在Validation.ErrorTemplate中绑定TextBlock的FontSize

我为 TextBox 声明了一个简单的 Validation.ErrorTemplate,如下所示。

我希望感叹号的字体大小与 TextBox 的字体(已编辑)大小相同,但它不会产生预期,并且总是获得默认字体大小。此外,我尝试使用 Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=FontSize,但它也无法解决问题。为什么会出现这种情况?如何使感叹号的大小与 TextBox 相同?

0 投票
0 回答
1308 浏览

wpf - 在 DataGrid 中的多行上显示验证错误

在我的 WPF 应用程序中,我有一个 ObservableCollection 项目。每个项目必须有一个唯一的名称,并且项目的名称必须以字母开头。我在实现 IDataErrorInfo 的基类中检查数据验证错误。问题是当用户输入现有名称时,椭圆和“!” 标志只出现在一行,而不是两行,但它们都有验证错误。这是我的 DataGrid 的一些代码。

提前致谢。

0 投票
3 回答
6966 浏览

wpf - 带有验证的文本框在选项卡更改时丢失 ErrorTemplate

我有一个带有验证规则的 TextBox,它位于 TabControl 的选项卡上。当验证规则失败时,默认的 ErrorTemplate 正确显示(文本框周围的红色边框)。
但是,如果切换到另一个选项卡,然后返回到带有 TextBox 的选项卡,则 ErrorTemplate 突出显示消失了。如果 TextBox 发生更改,则仍会调用验证规则并返回 false,但仍不会显示错误突出显示。
只有当文本内容更改为有效然后再次变为无效时,highligh 才会恢复。
如果文本内容无效,我希望切换到另一个选项卡并返回会保留无效的突出显示。任何获得这种行为的想法都非常受欢迎。
xml:

0 投票
2 回答
776 浏览

wpf - WPF 控件模板高度

我有以下样式来验证我的控件中的输入:

如果发生错误,标签中的错误消息会出现在控件下方(例如文本框)并与下方控件重叠。我制作了 StackPanel 的 Height="Auto",但没有帮助。每个控件都在一个 Grid 单元格中,并且 Grid 的行高也是 Auto。你能告诉我我错过了什么吗?我希望错误消息将下面的内容向下推。谢谢。

0 投票
1 回答
1420 浏览

c# - 将 ControlTemplate 应用于窗口时,错误模板不起作用

我有一个带有 App.xaml、MainWindow.xaml 和 Person 类的简单应用程序。当我没有指定模板时,我的 ValidateOnDataErrors 工作得很好,当它出错时在我的文本框周围放置一个红色边框。但是,只要我在 MainWindow.xaml 的 Window 标记中插入“ Template="{StaticResource WindowTemplate}" ',该字段仍然有效,但红色边框消失了。

应用程序.xaml:


MainWindow.xaml :


个人.cs


预先感谢您的帮助。

0 投票
1 回答
684 浏览

c# - WPF错误模板边框不显示所有文本

我的 WPF 应用程序中有一些错误检查。错误消息显示在文本框旁边,但当文本框位于应用程序右侧时,它不会显示所有错误文本。

结果:

错误信息

这是我的错误模板样式:

你能帮我如何显示所有错误信息吗?

谢谢雅库布

0 投票
3 回答
1603 浏览

c# - 有没有办法在 ErrorTemplate 中设置工具提示?

在我们的 WPF 应用程序中,我们有一个通用的控件模板,用于以一致的方式显示错误

在我们的应用程序的其他地方,当控件可能显示错误时,我们像这样设置 ErrorTemplate

我现在想在此错误模板中显示工具提示,但是在边框上设置工具提示属性并没有太大帮助,因为工具提示仅在用户将鼠标悬停在 1px 宽的边框上时才显示,而不是控件本身出现错误.

我知道我可以在样式中设置工具提示,但是此错误模板适用于许多不同的控件(组合框等...),并且其中许多控件还使用独立于我的错误模板的样式 - 我真的很想能够以通用方式将我的错误模板应用于任何控件。

有什么方法可以在我的 ErrorTemplate 中设置工具提示?

0 投票
1 回答
615 浏览

c# - WPF应用程序中的FolderBrowserDialog抛出应用程序异常而不是绑定异常

您好,我正在使用System.Windows.Forms.FolderBrowserDialog我的WPF application来选择用户计算机中的文件夹。所选文件夹显示在 a 中TextBox,并在视图模型中进行验证。

我正在尝试在以下情况下显示无效文件夹Error Template消息:TextBox

  1. 如果文件夹不存在且不可访问。
  2. 如果用户选择的文件夹是系统文件夹。对于此示例,我将值硬编码为@"c:\windows\boot".

我注意到的是:如果我键入一个不存在的文件夹,我将得到允许我设置错误模板的绑定异常。

但是,如果我选择了一个用户无权访问的驱动器,或者我选择了@"c:\windows\boot"我将得到一个异常,该异常要么在App.xamlunhandle 异常中被捕获,要么如果你有一个 try catch(设置文件夹的位置),它将在那里被捕获。我怎样才能将其作为绑定异常?在我决定将它作为尝试捕获之前,我想了解是否有任何方法可以将其作为绑定异常(这样可以节省点击!)。

这是代码:

我只有MainWindowMainWindowViewModel

代码隐藏

0 投票
1 回答
572 浏览

wpf - 从 ErrorTemplate 访问 Validation.Errors

我在网格中有一个 BindingGroup:

我的网格有一个 ErrorTemplate:

我想从我的 ControlTemplate 访问 Validation.Errors[0].ErrorContent 以将其显示在我的标签中。可能吗?请你帮助我好吗?