0

我有一个添加了依赖属性的 texbox,它使我能够直接在文本框上添加一个正则表达式,并且文本框会根据正则表达式是否通过或失败而更改。(如何定义 TextBox 输入限制? Nathan Tornquist 帖子)

现在我想添加一个属性,当正则表达式失败或不失败时我将更新它,所以真的是一个布尔值。

我希望这样当我在将新信息添加到数据库之前进行验证时,我的所有新信息都会通过它们各自的正则表达式。

所以基本上我希望能够做到这一点

if(txtPostalCode.passRegex=true) Then

到目前为止,我已将其添加到课程中

Public Shared ReadOnly PassRegexProperty As DependencyProperty = DependencyProperty.RegisterAttached("PassRegex", GetType(Boolean), GetType(ColorMasking), New PropertyMetadata(False))

    Public Shared Sub SetPassRegex(obj As DependencyObject, PassRegex As Boolean)
        obj.SetValue(PassRegexProperty, PassRegex)
    End Sub

    Public Shared Function GetPassRegex(obj As DependencyObject) As Boolean
        Return DirectCast(obj.GetValue(PassRegexProperty), Boolean)
    End Function

该属性显示何时在代码的 xaml 位中,但如果我在一个模块或其他东西中,我如何访问这个值?

我相信也许我没有使用正确的方法,但我一直在谷歌上寻找很多东西,似乎找不到一个好的答案来为我指明正确的方向。

任何帮助或建议表示赞赏。

4

1 回答 1

1

从后面的代码中,您必须使用以下GetValue方法从扩展的 TextBox 控件的实例中访问它:

bool passRegexValue = (bool)MyTextBox.GetValue(ColorMasking.PassRegexProperty);

GetValue属于底层的DependencyObject类型。)

于 2012-09-14T18:59:55.673 回答