我想将SQL查询的结果绑定到WPF接口的Listbox。我看到很多例子,我无法调整我的应用程序,以便正常工作。我使用这个代码:
string sqlStr1 = "SELECT Players.LastName FROM Players";
SqlDataAdapter dAdapt1 = new SqlDataAdapter(sqlStr1, cnStr);
DataSet dataSet1 = new DataSet();
dAdapt1.Fill(dataSet1);
List1.DataContext = dataSet1;
并在xaml页面中:
<ListBox Name="List1" Grid.Column="1" Grid.Row="2" ></ListBox>
绑定它们的方式是什么,以便在列表框中显示名称?
在xaml页面中不添加任何Binding,当我尝试运行它时会抛出异常。有什么问题?
答案 0 :(得分:7)
您的itemssource未设置。
你可以这样做:
List1.ItemsSource= dataSet1.Tables["Players"]; //instead of List1.DataContext = dataSet1;
或
List1.DataContext = dataSet1.Tables["Players"];
<ListBox Name="List1" ItemsSource="{Binding}" Grid.Column="1" Grid.Row="2" >
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding LastName}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
将LastName假定为Columnname。顺便说一句,所有代码都是手写的,所以可能会有一些错误:)