【发布时间】:2013-11-20 21:04:37
【问题描述】:
我是 WPF 新手,我对数据网格上的组合框遇到的问题有疑问。当从组合中选择一个项目时,绑定属性不会像我预期的那样更新。
由于我无法发布图片(这是我第一次发布到 SO),我将尝试解释一下。如果我从组合列表中选择“D00120”,组合将反映更改,但网格属性不会更改。
Xaml:
<DataGridTemplateColumn Header="CPT Code" Width="75">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding PartBCombo,
RelativeSource={RelativeSource AncestorType=Window}}"
DisplayMemberPath="PartBLookup_CPTCode"
SelectedValuePath="PartBLookup_ProcedureDescription"
SelectedValue="{Binding PartBBilling_ProcedureName, UpdateSourceTrigger=PropertyChanged}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
组合项目的属性:
Partial Public Class PartBBilling_Combobox
Private _PartBLookup_CPTCode As String
Public Property PartBLookup_CPTCode As String
Get
Return _PartBLookup_CPTCode
End Get
Set(value As String)
_PartBLookup_CPTCode = value
End Set
End Property
Private _PartBLookup_ProcedureDescription As String
Public Property PartBLookup_ProcedureDescription As String
Get
Return _PartBLookup_ProcedureDescription
End Get
Set(value As String)
_PartBLookup_ProcedureDescription = value
End Set
End Property
End Class
数据网格的属性:
Private _PartBBilling_CPT As String
Public Property PartBBilling_CPT As String
Get
Return _PartBBilling_CPT
End Get
Set(value As String)
_PartBBilling_CPT = value
RaisePropertyChanged("PartBBilling_CPT")
End Set
End Property
Private _PartBBilling_ProcedureName As String
Public Property PartBBilling_ProcedureName As String
Get
Return _PartBBilling_ProcedureName
End Get
Set(value As String)
If _PartBBilling_ProcedureName <> value Then
_PartBBilling_ProcedureName = value
RaisePropertyChanged("PartBBilling_ProcedureName")
End If
End Set
End Property
选择项目后,UI 会正确显示,但网格属性不会更新。除此之外,组合框功能还不错。
感谢您的任何帮助或建议。
【问题讨论】: