<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. 基于Yarp实现内网http穿透

    Yarp介绍 YARP是微软开源的用来代理服务器的反向代理组件,可实现的功能类似于nginx. 基于YARP,开发者可以非常快速的开发一个性能不错的小nginx,用于代理http(s)请求到上游的ht ...

  2. Activiti7 入门篇

    1.  工作流 简单地来讲,工作流就是在计算机的协助下实现流程的自动化控制.目前,笔者熟知的主流的框架有:Camunda .Flowable .Activiti .jBPM.还有我们国产的盘古BPM. ...

  3. Java:jar包与war包的差异

    一般将项目分为两层:服务层和表现层(视图层),通常我们把服务层打包成jar,而把视图层的包打成war包. 仔细对比可以发现: jar包中包含了你写程序的所有服务或者第三方类库,它通常是作为幕后工作者, ...

  4. 在spring boot使用总结(九) 使用yaml语言来写配置文件

    yaml是专门用来写配置文件的语言.使用yaml来写配置文件扩展性比较强而且十分方便.spring boot支持使用yaml语言来写配置文件,使用snakeyaml库来读取配置文件.spring bo ...

  5. Dart学习记录(一)——对象

    1. 静态成员.方法 1.1 static 声明 1.2 静态.非静态方法可访问静态成员.调用方法:静态方法不可访问静态成员.调用方法: 1.3 静态成员.方法,属于类的 ,不用实例化对象就可使用,不 ...

  6. Redis+Lua解决高并发场景抢购秒杀问题

    之前写了一篇PHP+Redis链表解决高并发下商品超卖问题,今天介绍一些如何使用PHP+Redis+Lua解决高并发下商品超卖问题. 为何要使用Lua脚本解决商品超卖的问题呢? Redis在2.6版本 ...

  7. 你真的了解 Session 和 Cookie 吗?

    我是陈皮,一个在互联网 Coding 的 ITer,微信搜索「陈皮的JavaLib」第一时间阅读最新文章,回复[资料],即可获得我精心整理的技术资料,电子书籍,一线大厂面试资料和优秀简历模板. 前言 ...

  8. 学C记录(理解递归问题之汉诺塔)

    汉诺游戏规则如下: 1.有三根相邻的柱子,标号为A,B,C. 2.A柱子上从下到上按金字塔状叠放着n个不同大小的圆盘. 3.现在把所有盘子一个一个移动到柱子B上,并且每次移动同一根柱子上都不能出现大盘 ...

  9. YAOI Round #3 题解

    前言 比赛链接: Div.1 : http://47.110.12.131:9016/contest/7 Div.2 : http://47.110.12.131:9016/contest/8 Div ...

  10. asp.net c# 保存图片到sql2008

    //图像数据表:tx//字段id (nvarchar(50) ,image(image)//tgav为图片ID,实质为上传前的主名 (省略了.jpg)private void kkkkk(byte[] ...