wpf - 组合框和IDataErrorInfo

标签 wpf vb.net mvvm combobox idataerrorinfo

这是我的问题。
当我从组合框中选择一个项目时(填充了组合框),我的轮廓总是红色。

为什么 ?

<ComboBox x:Name="Cmb_USER" 
          TabIndex="5" 
          ItemsSource="{Binding User_USER, 
          ValidatesOnExceptions=True,
          ValidatesOnDataErrors=True,NotifyOnValidationError=True}" 
          IsEditable="True"      
          DisplayMemberPath ="DescUser" 
          Text="{Binding Path=USER}" Margin="114,105,98,179"/>
    Public Property User_USER As ObservableCollection(Of Model_User)
Private p_USER As String
Public Property USER() As String
    Get
        Return p_USER
    End Get
    Set(ByVal value As String)
        p_USER = value
        OnPropertyChanged("USER")
    End Set
End Property
#Region "IDataErrorInfo Members"
Public ReadOnly Property [Error]() As String Implements System.ComponentModel.IDataErrorInfo.Error
    Get
        Return Nothing
    End Get
End Property
Default Public ReadOnly Property Item(ByVal Name As String) As String Implements System.ComponentModel.IDataErrorInfo.Item
    Get
        Dim result As String = Nothing

        Select Case Name
            Case "User_USER"
                If USER = "" Then
                    result = "ERROR"
                End If
        End Select
        Return result
    End Get
End Property
#End Region

最佳答案

解决了 ..
这是解决方案

Public Property USER() As String
Get
    Return p_USER
End Get
Set(ByVal value As String)
    p_USER = value
    OnPropertyChanged("USER")
    OnPropertyChanged("User_USER")
End Set

最终属性(property)

关于wpf - 组合框和IDataErrorInfo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30726439/

相关文章:

c# - 我无法使用 INotifyPropertyChanged 更新我的值

wpf - 图片异步数据绑定(bind),导致跨线程异常

vb.net if 数字范围之间的语句

wpf - 从 WPF 中的 DoubleAnimation Completed 事件获取目标控件?

vb.net - 如何缩放表单上的控件以按比例适合表单?

vb.net - 并行循环和 Nlog

c# - 为什么 CanxxxCommandExecute 被触发这么多次?

c# - WPF UI 未更新

.net - 我在哪里可以获得线程安全的 CollectionView?

c# - 如何使用 MVVM 模式在 WPF 中将一个 "disable"设为一个按钮?