大家好,我又来了!我也遇到了一些问题。我正在推出一个培训软件,这就是我提出很多问题的原因。我希望你帮助我。提前致谢。 我的问题如下:
首先:我有一个具有组合框的注册窗口。我已将其绑定为访问数据源。问题是当我选择一个项目时,它不会选择。它写了System.data.Datarow。(我希望它列出像迈克,苏珊等名单。)
我该如何解决?问题出在哪里?
public Register()
{
this.InitializeComponent();
Select();
}
public void Select()
{
DataView view;
OleDbConnection con = new OleDbConnection(connectionstring);
con.Open();
string sql = "Select * from UserInformation";
OleDbCommand cmd = new OleDbCommand(sql, con);
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds, "UserInformation");
view = ds.Tables[0].DefaultView;
RegCombo.ItemsSource = view;
con.Close();
}
XAML代码:
<ComboBox IsSynchronizedWithCurrentItem="True"
Margin="0,22.447,46.92,0" SelectedItem="{Binding Path=UserName}"
VerticalAlignment="Top" Height="29" Grid.Column="3" Grid.Row="1"
IsEditable="True" IsDropDownOpen="False" MaxDropDownHeight="266.666666666667"
FontSize="16" x:Name="RegCombo" FontWeight="Normal" >
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=UserName}"></TextBlock>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
答案 0 :(得分:1)
您需要将ComboBox上的DisplayMemberPath设置为您希望在ItemsControl
如果未指定,并且您没有覆盖该对象上的ToString()
方法,您将看到(您现在看到的内容) - 对象的限定名称。
答案 1 :(得分:0)
试试这个 Binding =“{Binding RelativeSource = {RelativeSource Self},Path = UserName}”