wpf LookUpEdit PopupContentTemplate
<dxg:LookUpEdit
Name="searchLookUpEdit"
HorizontalAlignment="Stretch"
PopupHeight=""
PopupWidth=""
PopupMinHeight=""
PopupMinWidth=""
IsPopupAutoWidth="False"
FilterCondition = "StartsWith"
FindButtonPlacement = "Popup"
FindMode = "Always"
ShowSizeGrip = "True"
PopupContentTemplate="{StaticResource gridTemplate}"
ItemsSource="{Binding Path=PeopleInfoArray}"
AutoPopulateColumns="False"
DisplayMember="Name"
ValueMember="Id"
>
<dxg:LookUpEdit.StyleSettings>
<dxg:SearchLookUpEditStyleSettings />
</dxg:LookUpEdit.StyleSettings>
</dxg:LookUpEdit>
LookUpEdit
<ControlTemplate x:Key="popupContentTemplate">
<dxg:GridControl x:Name="PART_GridControl" AutoExpandAllGroups="True">
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="Id" />
<dxg:GridColumn FieldName="PId" />
<dxg:GridColumn FieldName="Name" />
<dxg:GridColumn FieldName="BirthDate" />
<dxg:GridColumn FieldName="Age" Width="" FixedWidth="True" />
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView
Name="View"
ShowGroupedColumns="True"
AutoWidth="True"
AllowPerPixelScrolling="True"
ScrollAnimationDuration=""
ShowAutoFilterRow="True"
ShowTotalSummary="True"
IsSynchronizedWithCurrentItem="False">
</dxg:TableView>
</dxg:GridControl.View>
</dxg:GridControl>
</ControlTemplate>
ControlTemplate
/// <summary>
/// LookupControl.xaml 的交互逻辑
/// </summary>
public partial class LookupControl : Window
{
public LookupControl()
{
InitializeComponent();
LookupControlViewModel viewModel = new LookupControlViewModel(); this.DataContext = viewModel;
}
}
LookupControl.xaml.cs
/// <summary>
/// Lookup 控件ViewModel
/// </summary>
public class LookupControlViewModel : DxslViewModelBase
{
/// <summary>
/// 人员信息集合
/// </summary>
public ObservableCollection<PersonInfo> PeopleInfoArray { get; set; } public LookupControlViewModel()
{
PeopleInfoArray = Dxsl.InitDataBase.FackDataBaseLayer.GetPeopleFromDatabase();
}
}
LookupControlViewModel
public class FackDataBaseLayer
{
/// <summary>
/// 获取人员信息
/// </summary>
/// <returns></returns>
public static ObservableCollection<PersonInfo> GetPeopleFromDatabase()
{
//Simulate database extaction
//For example from ADO DataSets or EF
return new ObservableCollection<PersonInfo>
{
new PersonInfo {Age= , Id= "", PId="", Address="北京市海淀区", Name="王爷爷" },
new PersonInfo {Age= , Id="", PId="", Address="北京市海淀区", Name="王父亲" },
new PersonInfo {Age= , Id="", PId="", Address="北京市海淀区", Name="王一" },
new PersonInfo {Age= , Id="",PId="", Address="北京市海淀区", Name="王二" },
new PersonInfo {Age= , Id="",PId="", Address="北京市海淀区", Name="王三" }
};
}
}
FackDataBaseLayer
/// <summary>
/// 人员信息
/// </summary>
public class PersonInfo : DxslModelBase
{
#region 字段
private string _id;
private string _pId;
private string _name;
private int _age;
private string _address;
#endregion #region 属性
/// <summary>
/// 自增Id
/// </summary>
public string Id
{
get { return _id; }
set { _id = value; NotifyPropertyChanged("Id"); }
}
/// <summary>
/// 父级Id
/// </summary>
public string PId
{
get { return _pId; }
set { _pId = value; NotifyPropertyChanged("PId"); }
}
/// <summary>
/// 姓名
/// </summary>
public string Name
{
get { return _name; }
set { _name = value; NotifyPropertyChanged("Name"); }
}
/// <summary>
/// 年龄
/// </summary>
public int Age
{
get { return _age; }
set { _age = value; NotifyPropertyChanged("Age"); }
}
/// <summary>
/// 地址
/// </summary>
public string Address
{
get { return _address; }
set { _address = value; NotifyPropertyChanged("Address"); }
}
#endregion #region 构造函数
public PersonInfo()
{ }
#endregion #region 方法 #endregion
}
PersonInfo
/// <summary>
/// Dxsl类model基类
/// </summary>
public class DxslModelBase : INotifyPropertyChanged
{
#region NotifyPropertyChanged
public event PropertyChangedEventHandler PropertyChanged;
/// <summary>
/// 属性通知
/// </summary>
/// <param name="property">属性名称</param>
public void NotifyPropertyChanged(string property)
{
if (this.PropertyChanged != null)
this.PropertyChanged(this, new PropertyChangedEventArgs(property));
}
#endregion
}
DxslModelBase
public class DxslViewModelBase : INotifyPropertyChanged
{
#region NotifyPropertyChanged
public event PropertyChangedEventHandler PropertyChanged;
/// <summary>
/// 属性通知
/// </summary>
/// <param name="property">属性名称</param>
public void NotifyPropertyChanged(string property)
{
if (this.PropertyChanged != null)
this.PropertyChanged(this, new PropertyChangedEventArgs(property));
}
#endregion
}
DxslViewModelBase
wpf LookUpEdit PopupContentTemplate的更多相关文章
- dx wpf的各种坑
这篇随笔总结dx wpf使用中的各种坑,持续更新~ LookUpEdit里内嵌的DXGrid的名字必须是"PART_GridControl",不能不写.也不能写错.我对比了2个小时 ...
- 在WPF中使用依赖注入的方式创建视图
在WPF中使用依赖注入的方式创建视图 0x00 问题的产生 互联网时代桌面开发真是越来越少了,很多应用都转到了浏览器端和移动智能终端,相应的软件开发上的新技术应用到桌面开发的文章也很少.我之前主要做W ...
- MVVM框架从WPF移植到UWP遇到的问题和解决方法
MVVM框架从WPF移植到UWP遇到的问题和解决方法 0x00 起因 这几天开始学习UWP了,之前有WPF经验,所以总体感觉还可以,看了一些基础概念和主题,写了几个测试程序,突然想起来了前一段时间在W ...
- MVVM模式解析和在WPF中的实现(六) 用依赖注入的方式配置ViewModel并注册消息
MVVM模式解析和在WPF中的实现(六) 用依赖注入的方式配置ViewModel并注册消息 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二 ...
- MVVM模式解析和在WPF中的实现(五)View和ViewModel的通信
MVVM模式解析和在WPF中的实现(五) View和ViewModel的通信 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 M ...
- MVVM设计模式和WPF中的实现(四)事件绑定
MVVM设计模式和在WPF中的实现(四) 事件绑定 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中 ...
- MVVM模式解析和在WPF中的实现(三)命令绑定
MVVM模式解析和在WPF中的实现(三) 命令绑定 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中 ...
- MVVM模式和在WPF中的实现(二)数据绑定
MVVM模式解析和在WPF中的实现(二) 数据绑定 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中 ...
- MVVM模式和在WPF中的实现(一)MVVM模式简介
MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...
随机推荐
- 头文件string与string.h的区别
在C++中,#include<iostream>与#include<iostream.h>的区别,前者要使用更新的编译器(其实大部分编译器多比较前卫了,出了有些搞嵌入式的用变态 ...
- 【MySql】Mysql ERROR 1067: Invalid default value for ‘date’ 解决
在给一个表添加字段的时候,忽然发现会报一个date类型的字段的默认值错误,郁闷~ 经过排查,原来是MySQL的配置问题,在wamp下,MySQL 5.7里是没有设置 SQL_MODE 的. 1.my. ...
- 【Git版本控制】git中reset命令的详解
git reset 命令详解(一) git reset 命令详解(二) reset命令的语法:git reset [选项] [版本号] [要回退的目标] 选项:--soft仅将head指针指向历史 ...
- JFinal 结合Dubbo发生的一些问题
1.java.lang.NoSuchMethodError: org.jboss.resteasy.specimpl.BuiltResponse.getHeaders()Ljavax/ws/rs/co ...
- 安装VS2010 无法打开数据文件deffactory.dat
VS2010旗舰版可用Key: YCFHQ9DWCYDKV88T2TMHG7BHP 解压VS2010安装ISO文件,找到setup\deffactory.dat文件,用记事本打开,将里面内容清空,将以 ...
- hdu 6312
Problem Description Alice and Bob are playing a game.The game is played on a set of positive integer ...
- Persona5
65536K Persona5 is a famous video game. In the game, you are going to build relationship with your ...
- poj 2251 三维地图最短路径问题 bfs算法
题意:给你一个三维地图,然后让你走出去,找到最短路径. 思路:bfs 每个坐标的表示为 x,y,z并且每个点都需要加上时间 t struct node{ int x, y, z; int t;}; b ...
- SpringMVC之Controller简单使用
//环境 spring-4.3.18/JDK1.8/开发工具/IntelliJ IDEA 2018.2.5 x64 //工程结构图 //web.xml <?xml version="1 ...
- python for data analysis chapter1~2
Q1:numpy与series的区别:index Tab补全(任意路径Tab) 内省(函数:?显示文档字符串,??显示源代码:结合通配符:np.* load *?) %load .py ctrl-c( ...