<ComboBox Width="200" Height="30" x:Name="ComboxName" Text="{Binding CboxText,Mode=TwoWay}" ItemsSource="{Binding TenantsModel}" SelectedItem="{Binding Model}" DisplayMemberPath="name"  IsEditable="True" materialDesign:HintAssist.Hint="{Binding QueryNmae}" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<i:InvokeCommandAction Command="{Binding QueryTenantsCommand}" CommandParameter="{Binding ElementName=ComboxName}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</ComboBox>

后台代码

 public class GetTenants
{
public string tenancyName { get; set; }
public string name { get; set; }
public string editionDisplayName { get; set; }
public string connectionString { get; set; }
public string isActive { get; set; }
public string creationTime { get; set; }
public string subscriptionEndDateUtc { get; set; }
public string editionId { get; set; }
public string isInTrialPeriod { get; set; } public string id { get; set; }
}
public class MainViewModel : ViewModelBase
{ private ObservableCollection<GetTenants> _TenantsModel; public ObservableCollection<GetTenants> TenantsModel
{
get { return _TenantsModel; }
set { _TenantsModel = value;RaisePropertyChanged(); }
} private string userName = string.Empty;
private string passWord = string.Empty;
public static string Token = string.Empty;
public string Password
{
get { return passWord; }
set { passWord = value; RaisePropertyChanged(); }
}
public string UserName
{
get { return userName; }
set { userName = value; RaisePropertyChanged(); }
} private GetTenants _Model; public GetTenants Model
{
get { return _Model; }
set { _Model = value;RaisePropertyChanged();
}
} private string _CboxText; public string CboxText
{
get { return _CboxText; }
set { _CboxText = value;RaisePropertyChanged(); QueryTenantsList(value); }
}
private string _QueryNmae; public string QueryNmae
{
get { return _QueryNmae; }
set { _QueryNmae = value; RaisePropertyChanged(); }
} public RelayCommand<object> QueryTenantsCommand { get; set; }
public RelayCommand Close { get; set; } public RelayCommand Logasync { get; private set; } public MainViewModel()
{
QueryTenantsCommand = new RelayCommand<object>((o) => SelectModel(o));
TenantsModel = new ObservableCollection<GetTenants>();
Close = new RelayCommand(()=> ApplicationShutdown());
Logasync = new RelayCommand(()=>LogCommand());
} private async void LogCommand()
{
if (string.IsNullOrEmpty(UserName) && string.IsNullOrEmpty(Password)) return;
JObject jObjects = new JObject();
jObjects["userNameOrEmailAddress"] = UserName;
jObjects["password"] = Password;
var LoginTask = QueryOrUpdateHttp.LoginAsync("http://47.106.71.73:5000/api/TokenAuth/Authenticate", jObjects);
var timeouttask = Task.Delay(3000);
var completedTask = await Task.WhenAny(LoginTask, timeouttask);
if (completedTask == timeouttask) return;
var jObject = JObject.Parse(LoginTask.Result.ToString());
if (string.IsNullOrEmpty(jObject.ToString()) || !string.IsNullOrEmpty(jObject["error"].ToString())) return;
Token = jObject["result"]["accessToken"].ToString();
if (string.IsNullOrEmpty(Token)) return;
} public void ApplicationShutdown()
{
Messenger.Default.Send("", "ApplicationShutdown");
} private void SelectModel(object o)
{
GetTenants combo = (o as ComboBox).SelectedItem as GetTenants;
if (combo == null) return; QueryNmae = combo.name.Trim(); } public static ObservableCollection<T> DeserializeJsonToList<T>(string json) where T : class
{
JsonSerializer serializer = new JsonSerializer();
using (StringReader sr = new StringReader(json))
{
object o = serializer.Deserialize(new JsonTextReader(sr), typeof(ObservableCollection<T>));
ObservableCollection<T> list = o as ObservableCollection<T>;
return list;
} }
private async void QueryTenantsList(string value)
{
if (string.IsNullOrEmpty(value)) return;
GetTenants loadValue = new GetTenants() { id="1", name="正在加载...."};
TenantsModel.Add( loadValue);
string result = await QueryOrUpdateHttp.GetTenantId("/api/services/app/Tenant/GetTenants?Filter=" + CboxText);
var JResult = JObject.Parse(result); if (bool.Parse(JResult["success"].ToString()))
{
var results = JResult["result"]["items"].ToString();
TenantsModel.Clear(); TenantsModel = DeserializeJsonToList<GetTenants>(results); }
else
{
MessageBox.Show("没有改公司名称");
}
} }

MaterialDesign Or ComboBox 联动查询的更多相关文章

  1. 【EasyUI】combotree和combobox模糊查询

    这里说的模糊查询指在输入框输入,然后自动在下拉框中显示匹配结果,类似Google搜索提示 EasyUI库已经实现了combobox的查询过滤功能,但只能从头匹配,原因是EasyUI库的代码限制: fi ...

  2. Winform如何实现ComboBox模糊查询

    最近朋友问了一个关于Winform实现ComboBox模糊查询的知识点,自己好久没有搞Winform了,就上手练了一下,废话不多说,进入正题. 前台设计: 前台就是一个简单的Form窗体+一个Comb ...

  3. Java Swing应用程序 JComboBox下拉框联动查询

    在web项目中,通过下拉框.JQuery和ajax可以实现下拉框联动查询. 譬如说,当你查询某个地方时,页面上有:省份:<下拉框省份> 市区:<下拉框市区> 县乡:<下拉 ...

  4. vs2013+MVC3.0+EasyUI的ComboBox联动使用(二)

     vs2013+MVC3.0+EasyUI的ComboBox联动使用(二) 简单介绍:在vs2013(.net4.0)中使用MVC3.0对于EasyUI中ComboBox的联动使用. 载入Comb ...

  5. Extjs4 Combobox 联动始终出现loading错误的解决的方法

    当反复选者combobox 联动时,下级的Combobox 会出现loading的错误表现形式,尽管Store数据已载入完也是一样. 废话少说贴代码就知道怎样处理了:(注意红色部分的关键语句) }, ...

  6. C# Combobox联动

    接上一篇博文,对界面做一个小修改,做4个combobox,形成窗口之间的联动: 界面如下: 选择combobox里的条件,单击查询获取数据 首先连接数据库,获取到数据到第一个combobox里,代码在 ...

  7. Ajax省市区无刷新单表联动查询

    方法一: 在很多时候都需要用到无刷新级联查询,本文将以省市区的级联查询作为例子.注:此为单表三级联动 环境:Vistual Studio 2015 .MSSQL 1.首先下载AjaxControlTo ...

  8. Ajax案例:三级联动查询员工的信息(三张表进行内连接)

    需求分析: 通过数据库连接池,可以查询到数据库中员工的各种信息,通过点击下拉框的方式实现三级联动,即:没有点击city下拉框,后面两个下拉框中没有值,这样,点击city下拉框,department下拉 ...

  9. Ext 4.2以后版本 ComboBox 联动

    //combox树 ComboTree: function (upDep, empStore) { var com = Ext.create('Ext.ux.desktop.ComboTree', { ...

随机推荐

  1. Python小白的数学建模课-B5. 新冠疫情 SEIR模型

    传染病的数学模型是数学建模中的典型问题,常见的传染病模型有 SI.SIR.SIRS.SEIR 模型. 考虑存在易感者.暴露者.患病者和康复者四类人群,适用于具有潜伏期.治愈后获得终身免疫的传染病. 本 ...

  2. AcWing 1134. 最短路计数

    给出一个n个顶m 条边的无向无权图,顶点编号为 1 到 n.N. 问从顶点 1开始,到其他每个点的最短路有几条. #include<bits/stdc++.h> #define N 100 ...

  3. 资源:Postgresql数据库下载路径

    postgresql下载路径: https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

  4. Docker:docker部署Tomcat运行web项目

    查找Docker Hub上的tomcat镜像 docker search tomcat 拉取官方的镜像 docker pull tomcat 启动Tomcat服务 方式1: 通过dockerfile生 ...

  5. 2012年第三届蓝桥杯C/C++程序设计本科B组省赛 密码发生器

    密码发生器 题目描述: ```bash 在对银行账户等重要权限设置密码的时候,我们常常遇到这样的烦恼:如果为了好记用生日吧,容易被破解,不安全:如果设置不好记的密码,又担心自己也会忘记:如果写在纸上, ...

  6. Kubernetes全栈架构师(二进制高可用安装k8s集群扩展篇)--学习笔记

    目录 二进制Metrics&Dashboard安装 二进制高可用集群可用性验证 生产环境k8s集群关键性配置 Bootstrapping: Kubelet启动过程 Bootstrapping: ...

  7. 00JAVA语法基础 原码、反码、补码

    记得之前学C语言的时候老师课上讲过一些,不过当时觉得考试不考,也就上课听了下,下课也没怎么多做了解.这次,Java课上再次提出来了,自己也超越了些资料,对这三种概念算是有所初步了解. 1.原码 数据储 ...

  8. Java基础00-学生管理系统16

    1. 学生管理系统 1.1 项目演示 1.2 实现思路 1.3 定义学生类 public class Student { private String sid; private String name ...

  9. [刘阳Java]_MySQL数据优化总结_查询备忘录

    数据库优化是在后端开发中必备技能,今天写一篇MySQL数据优化的总结,供大家看看 一.MySQL数据库优化分类 我们通过一个图片形式来看看数据优化一些策略问题 不难看出,优化有两条路可以选择:硬件与技 ...

  10. 通过http将yum仓库发布

    说明:这里是Linux服务综合搭建文章的一部分,本文可以作为单独构建http和发布yum仓库到内网的参考. 注意:这里所有的标题都是根据主要的文章(Linux基础服务搭建综合)的顺序来做的. 如果需要 ...