DataTable到组合框-UI中未设置SelectedValue,返回了两个值

时间:2019-05-21 13:10:13

标签: wpf vb.net data-binding

关于数据绑定的SelectedItem元素,我知道这是一个{@ 1}}几乎是一个长期存在的问题,但是我现在也正为此问题苦苦挣扎。

XAML:

ComboBox

隐藏代码:

<ComboBox x:Name="Price_List" BorderBrush="Gainsboro" Margin="5"  Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="2" Background="{x:Null}"/>

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) -为什么会这样?

很明显,在这方面,NULLSelectedValue总是不同的,那么如何强制WPF显示它?

1 个答案:

答案 0 :(得分:1)

如果将其移回,请在Main_Tabs_SelectionChanged中插入一些断点,并确保代码仅执行一次。

请参阅https://social.msdn.microsoft.com/Forums/en-US/22e16180-914b-4b07-939e-b17ce692cf11/tab-control-selectionchanged-event-fires-a-combos-selectionchanged-event-fires?forum=wpf