我有三个ListBoxes
(公司名称,代表& QuoteNumber ),我将数据从我的WCF客户端加载到 CompanyName 列表框使用以下方法:
private async Task LoadCompanies()
{
using (TruckServiceClient client = new TruckServiceClient())
{
var companies = await client.GetCompaniesAsync();
foreach (var company in companies)
lbxCompanyName.Items.Add(new ListBoxViewItem<Company>(company));
}
}
现在在下面的编码中,我允许自己在lbxCompanyName
列表框中选择公司名称,然后在我的网站中查看属于该公司的代表 lbxRepresentative
ListBox。
private void lbxCompanyName_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var company = (ListBoxViewItem<Company>)lbxCompanyName.SelectedItem; //Changing this line to auto select an Item for me
foreach (var rep in company.Item.Represetatives)
lbxRepresentatives.Items.Add(new ListBoxViewItem<Represetative>(rep));
}
我想要实现的是从 CompanyName ListBox中自动/编程选择名称,比如说“Josh”。我将如何利用现有的编码来实现这一目标?
基本上我想隐藏我的列表框,让我的程序为我选择一切。
答案 0 :(得分:1)
使用data binding,您可以绑定ItemsSource和SelectedItem
然后你可以在后面的代码中分配SelectedItem 您很可能需要实现INotifyPropertyChanged
你可以通过约束来填充代表 但你所拥有的是奇怪的 - 你只需在每个SelectionChanged
中添加Representsetatives答案 1 :(得分:0)
出于测试目的,我通过将前两个ListBoxes(CompanyName,代表)SelectedIndex
设置为0来解决我的问题,然后使用下面的编码为我的最后一个ListBox(QuoteNumber)选择我的QuoteNumber中的最后一个插入行列表框。
if (lbxQuoteNumber.Items.Count > -1)
lbxQuoteNumber.SelectedIndex = lbxQuoteNumber.Items.Count - 1;
感谢所有帮助伙计们! :)