Я знаю, что это почти постоянная проблема, возникающая с SelectedItem
в отношении элементов ComboBox
с привязкой к данным, но я также сейчас борюсь с этой проблемой.
XAML:
<ComboBox x:Name="Price_List" BorderBrush="Gainsboro" Margin="5" Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="2" Background="{x:Null}"/>
Code-Behind:
Using Sql As New SqlClient.SqlConnection(ConnStr)
Sql.Open()
Using sqlcmd As New SqlClient.SqlCommand(SQLQuery, Sql)
Dim DA As New SqlDataAdapter
Dim DS As New DataSet
Dim DT As New DataTable
With DT.Columns
.Add("price_list")
.Add("description")
End With
With Price_List
.ItemsSource = DT.DefaultView
.DisplayMemberPath = "description"
.SelectedValuePath = "price_list"
End With
DA.SelectCommand = sqlcmd
DA.Fill(DT)
End Using
End Using
SelectedValue
является своего рода работой, о чем свидетельствует Debug.Print
значения в SelectionChanged
, но он возвращает два значения (одно NULL
) для каждого изменения - почему это будет?
Очевидно, что в этом отношении SelectedValue
всегда будет отличаться от DisplayMember
, так как я могу заставить WPF отображать его?