- 浏览: 216999 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zhangwei412827_:
[flash=200,200][/flash]
js 关键字 in 的使用方法 -
flycatdeng:
.classpath文件在哪里?
AndEngine示例运行环境搭建过程 -
revol:
请问,你是如何调用LSMessage,并弹出窗口的?
Silverlight模拟MSN和QQ即时提示消息框
LSComboBoxItem.cs
using System; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Ink; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; namespace Longshine.SLLib.InputControls.LSComboBox.LSNullableComboBox { public class LSComboBoxItem { /// <summary> /// 显示字段 (DisplayMemberPath) /// </summary> public string DisplayString { get; set; } /// <summary> /// 选中项 (SelectedValuePath) /// </summary> public object ItemValue { get; set; } } }
LSComboBoxItemList.cs
using System.Collections.Generic; namespace Longshine.SLLib.InputControls.LSComboBox.LSNullableComboBox { public class ComboBoxItemList<T> : List<LSComboBoxItem> { public delegate string GetDisplayString(T t); public ComboBoxItemList(bool addEmptyItem, IEnumerable<T> items, GetDisplayString getDisplayString) { if (addEmptyItem) { Add(new LSComboBoxItem { DisplayString = "------", ItemValue = null }); } if (items != null) { foreach (T item in items) { Add(new LSComboBoxItem { DisplayString = getDisplayString(item), ItemValue = item }); } } } } }
LSEnhancedComboBox.cs
using System.Windows; using System.Windows.Controls; namespace Longshine.SLLib.InputControls { /// <summary> /// 有默认空值的下拉框 /// </summary> public class LSEnhancedComboBox : ComboBox { public static readonly DependencyProperty SelectedValuePathProperty = DependencyProperty.Register("SelectedValuePath", typeof(string), typeof(LSEnhancedComboBox), new PropertyMetadata(new PropertyChangedCallback(SelectedValuePathPropertyChanged))); public static readonly DependencyProperty SelectedValueProperty = DependencyProperty.Register("SelectedValue", typeof(object), typeof(LSEnhancedComboBox), new PropertyMetadata(new PropertyChangedCallback(SelectedValuePropertyChanged))); public LSEnhancedComboBox() : base() { this.DisplayMemberPath = "DisplayString"; this.SelectedValuePath = "ItemValue"; base.SelectionChanged += new SelectionChangedEventHandler(ComboBoxClassic_SelectionChanged); } protected void ComboBoxClassic_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (SelectedItem != null && !string.IsNullOrEmpty(SelectedValuePath)) { SetValue(LSEnhancedComboBox.SelectedValueProperty, SelectedItem.GetType().GetProperty(SelectedValuePath).GetValue(SelectedItem, null)); } } static void SelectedValuePathPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { } static void SelectedValuePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { LSEnhancedComboBox cmb = (LSEnhancedComboBox)d; foreach (var item in cmb.Items) { var currentValue = item.GetType().GetProperty(cmb.SelectedValuePath).GetValue(item, null); if (currentValue == null && e.NewValue == null) { cmb.SelectedItem = item; return; } if (currentValue != null) { if (currentValue.Equals(e.NewValue)) { cmb.SelectedItem = item; return; } } } cmb.SelectedIndex = -1; } public string SelectedValuePath { get { return (string)GetValue(LSEnhancedComboBox.SelectedValuePathProperty); } set { SetValue(LSEnhancedComboBox.SelectedValuePathProperty, value); } } public object SelectedValue { get { return GetValue(SelectedValueProperty); } set { SetValue(LSEnhancedComboBox.SelectedValueProperty, value); } } } }
使用:
<inputcontrols:LSEnhancedComboBox x:Name="cbRYType" Grid.Column="1" Grid.Row="1"/>
void cbRYType_Loaded(object sender, RoutedEventArgs e) { var ws = WcfServiceClientFactory<ComServiceClient, ComService>.CreateServiceClient(); ws.GetCodeTableDataCompleted += (ss, e2) => { if (e2.Error != null) System.Windows.Browser.HtmlPage.Window.Alert(e2.Error.Message); else { if (e2.Result == null) return; ComboBoxItemList<CodeEntity> dataList = new ComboBoxItemList<CodeEntity>(true, e2.Result, c => c.MC0000); this.cbRYType.ItemsSource = dataList; this.cbRYType.SelectedIndex = 0; } }; ws.GetCodeTableDataAsync("BM_KK"); }
界面:
发表评论
-
以假乱真解决WebBrowser遮挡SL控件的问题
2010-09-02 11:49 1548查找了很多官网文档、资料、论坛,WebBrowser遮 ... -
Path的Data生成归总
2010-08-26 11:53 1326Path的Data数据有三种生 ... -
Path Data 常用图形(整理中....)
2010-08-26 11:38 17241 三角形 <Path Stroke="# ... -
根据类型名称获取类型的对象
2010-08-23 10:12 1674private Type GetTypeCore(string ... -
多级菜单导航工具条
2010-08-10 14:08 1601多级菜单导航工具条 animated multi-leve ... -
Image控件的属性扩展
2010-08-07 10:56 1090扩展Image的属性,显示Web下的图片。 ... -
Silverlight模拟MSN和QQ即时提示消息框
2010-07-23 15:17 2216LSMessagePopup.cs: using Syste ... -
动态加载XAML文件(2)
2010-06-09 22:28 1497C#代码部分 using System; using Sy ... -
动态加载XAML文件
2010-06-09 20:34 3740Silverlight 2 提供了 System.W ... -
全局等待提示框
2010-05-27 09:42 1279xmal代码(Loading.xaml): <User ... -
分析silverlight里的URI引用资源文件的各种情况
2010-05-08 17:01 1775主要介绍一下在silverlight里的资源文件(图 ... -
Silverlight Validation
2010-05-08 14:57 1229Silverlight DataForm Valida ... -
Silverlight专业网站(整理中...)
2010-05-08 13:24 10891 Microsoft Silverlight htt ... -
Silverlight中常用方法使用总结(整理中...)
2010-05-08 11:40 8521 获取URL地址 Url = Application.Cu ... -
Silverlight同步通信
2010-05-08 11:29 2313SL调用WCF方法,默认是异步的,但有些情况,我们使用同 ...
相关推荐
根据数据库字段允许空值状态自动设置输入检测代码 页面皮肤模板设置,根据网页模板快速生成页面 ★ 设置指定字段在编辑信息时为只读状态 字段需要二次输入(如输入两次密码,以验证其正确性) ★ 在列表中直接...
根据数据库字段允许空值状态自动设置输入检测代码 页面皮肤模板设置,根据网页模板快速生成页面 ★ 设置指定字段在编辑信息时为只读状态 字段需要二次输入(如输入两次密码,以验证其正确性) ★ 在列表中直接...
根据数据库字段允许空值状态自动设置输入检测代码 页面皮肤模板设置,根据网页模板快速生成页面 ★ 设置指定字段在编辑信息时为只读状态 字段需要二次输入(如输入两次密码,以验证其正确性) ★ 在列表中直接...
根据数据库字段允许空值状态自动设置输入检测代码 页面皮肤模板设置,根据网页模板快速生成页面 ★ 设置指定字段在编辑信息时为只读状态 字段需要二次输入(如输入两次密码,以验证其正确性) ★ 在列表中直接...
根据数据库字段允许空值状态自动设置输入检测代码 页面皮肤模板设置,根据网页模板快速生成页面 ★ 设置指定字段在编辑信息时为只读状态 字段需要二次输入(如输入两次密码,以验证其正确性) ★ 在列表中直接批量...
根据数据库字段允许空值状态自动设置输入检测代码 页面皮肤模板设置,根据网页模板快速生成页面 ★ 设置指定字段在编辑信息时为只读状态 字段需要二次输入(如输入两次密码,以验证其正确性) ★ 在列表中直接...
根据数据库字段允许空值状态自动设置输入检测代码 页面皮肤模板设置,根据网页模板快速生成页面 ★ 设置指定字段在编辑信息时为只读状态 字段需要二次输入(如输入两次密码,以验证其正确性) ★ 在列表中直接...
4、支持设置允许提交内容的长度、类型(数字、日期、汉字、空值等)的限制条件 ★ 5、支持对用户输入内容进行服务器端与客户端JS双重验证 ★ 6、支持自动生成多组多级的级联下拉框功能,快速建立如:省、市、...
2、支持从数据表、视图(Access为查询)中读取数据字段 3、支持通过数据表中的组合主键传递参数 ★ 4、支持设置允许提交内容的长度、类型(数字、日期、汉字、空值等)的限制条件 ★ 5、支持对用户...
6.[纠正]纠正栏目管理中非顶级分类,次页显示模式选择[分类列表2]没提示不允许选择的提示 7.[纠正]纠正部分浏览器后台列表管理的复选框全选失效的BUG 8.[纠正]纠正部分浏览器后台列表管理的多选处理按钮和下拉菜单...