本文主要是介绍WPF由文本框输入的内容动态渲染下拉框,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在做项目过程中,需要扫码枪扫描快递单号或者手动输入快递单号时,自动检索该单号是哪个快递公司的,下拉框中自动带出该单号的快递公司。当输入的快递单号不存在时,将数据库中所有快递公司都带出
效果:
通过输入的快递单号检索快递公司
1、物流单号文本框需要添加KeyDown回车事件
<TextBox Grid.Row="9" Grid.Column="1" x:Name="txtRemark" Width="250"KeyDown="txtRemark_KeyDown" InputMethod.IsInputMethodEnabled="False"></TextBox>
2、下拉框不能绑定binding,直接使用一个combox下拉框就可以了,将name等一些基本属性设置好就行
<ComboBox Name="cmbLineName" Width="250" SelectedValuePath="ItemValue" DisplayMemberPath="ItemValue" />
3、cs层物流单号的回车事件代码:
private void txtRemark_KeyDown(object sender, KeyEventArgs e)
{if (e.Key==Key.Enter){var LineNo = this.txtRemark.Text;List<WordbookItemVO> result = new List<WordbookItemVO>();//调用服务查询数据库中配置的快递公司,首次使用的快递公司需要通过手持终端的API接口新增致数据库的表保存ServicesInvokeHelper.Invoke<IInStoreOrderService>((proxy) =>{result = proxy.QueryExpress(LineNo);});ItemCollection coll = cmbLineName.Items;coll.Clear();cmbLineName.Text = null;if (result!=null){//循环遍历查询到的物流公司,将公司名放进ComboBoxItem中foreach (var item in result){ComboBoxItem boxItem = new ComboBoxItem() { Content = item };coll.Add(item);//cmbLineName.Items.Add(item);}} else{MessageBox.Show("当前快递单号没有对应快递公司,请用RF收件");}}
}
这篇关于WPF由文本框输入的内容动态渲染下拉框的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!