1

我正在WPF使用Metro样式创建一个应用程序。在我的应用程序中,我使用Regex regular expressionsfor my propertiesto use for validation。这看起来非常简单且易于使用。

但是,我遇到了一个奇怪的行为。使用 时,即使表达式已匹配validation,其中的某些textbox's和 字段UserControl似乎也不会消失。下图显示了它是如何响应的;

在此处输入图像描述

在 myUserControl中,我将 aresource称为以下内容;

<ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="..\Styling\ValidationStyle.xaml"/>

只有当我visibility在我的字段中使用该属性时,才会出现此问题。它似乎没有通知UI验证已匹配。另外,例如,如果我交换Tabs,它会完全删除红线,但这并不是让用户交换标签的想法。

而不是使用ResourceDictionary我尝试像这样在文本框本身内调用样式;

Style="{StaticResource myErrorTemplate}" 

但是这样做时,它并没有实现 Metro 风格验证,即在顶角有一个三角形,而是*datepicker.

有什么想法可以解决这个问题吗?显然,如果新用户要使用它,他们会感到困惑,因此我试图阻止这种情况。

这是我的代码一的链接;代码

非常感谢任何帮助,干杯:)。

4

0 回答 0