当前位置: 首页 > news >正文

江苏网站建设网站排名优化佛山高端外贸网站建设

江苏网站建设网站排名优化,佛山高端外贸网站建设,wordpress代理服务器,网站上不去原因#x1f4a1;WPF 项目实战#xff1a;构建一个可增删、排序的光源类型管理界面#xff08;含源码#xff09; 在实际的图像处理项目中#xff0c;我们经常需要对“光源类型”进行筛选或管理。今天我们来一步步构建一个实用的 WPF 界面#xff0c;实现以下功能#xff1…WPF 项目实战构建一个可增删、排序的光源类型管理界面含源码 在实际的图像处理项目中我们经常需要对“光源类型”进行筛选或管理。今天我们来一步步构建一个实用的 WPF 界面实现以下功能 ✅ 添加新的光源类型❌ 删除已有光源类型 调整光源类型显示顺序 使用标准的 MVVM 模式 Prism 命令绑定 ️ 第一步定义模型类 我们为每个光源项定义一个类 LightSourceFilterItem它包含两个属性光源名称、是否勾选。 public class LightSourceFilterItem : BindableBase {public string Name { get; }private bool _isChecked;public bool IsChecked{get _isChecked;set SetProperty(ref _isChecked, value);}public LightSourceFilterItem(string name){Name name;IsChecked true;} }第二步ViewModel 实现逻辑 ViewModel 是整个逻辑核心包括添加、删除、排序命令。 public class LightTypeViewModel : BindableBase {public ObservableCollectionLightSourceFilterItem LightSourceItems { get; } new();private string _newLightSourceName;public string NewLightSourceName{get _newLightSourceName;set SetProperty(ref _newLightSourceName, value);}public DelegateCommand AddLightSourceCommand { get; }public DelegateCommandLightSourceFilterItem RemoveLightSourceCommand { get; }public DelegateCommandLightSourceFilterItem MoveUpCommand { get; }public DelegateCommandLightSourceFilterItem MoveDownCommand { get; }public LightTypeViewModel(){AddLightSourceCommand new DelegateCommand(AddLightSource);RemoveLightSourceCommand new DelegateCommandLightSourceFilterItem(RemoveLightSource);MoveUpCommand new DelegateCommandLightSourceFilterItem(MoveUp);MoveDownCommand new DelegateCommandLightSourceFilterItem(MoveDown);}private void AddLightSource(){if (string.IsNullOrWhiteSpace(NewLightSourceName)) return;if (LightSourceItems.Any(x x.Name NewLightSourceName)) return;LightSourceItems.Add(new LightSourceFilterItem(NewLightSourceName));NewLightSourceName string.Empty;}private void RemoveLightSource(LightSourceFilterItem item){if (item ! null)LightSourceItems.Remove(item);}private void MoveUp(LightSourceFilterItem item){var index LightSourceItems.IndexOf(item);if (index 0)LightSourceItems.Move(index, index - 1);}private void MoveDown(LightSourceFilterItem item){var index LightSourceItems.IndexOf(item);if (index LightSourceItems.Count - 1)LightSourceItems.Move(index, index 1);} }温馨提示 使用 ObservableCollection.Move() 可以高效地重排项UI 会自动更新。 如果你未来打算支持拖动排序也可以换成 ListBox drag-and-drop 实现。 第三步编写 XAML 界面 UserControl x:ClassMainPro.Views.LightTypeViewxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:prismhttp://prismlibrary.com/prism:ViewModelLocator.AutoWireViewModelTrueBackgroundAliceBlueStackPanel Margin20!-- 添加区域 --StackPanel OrientationHorizontal Margin0,0,0,10TextBox Width150Text{Binding NewLightSourceName, UpdateSourceTriggerPropertyChanged} /Button Content添加光源类型 Command{Binding AddLightSourceCommand} Margin10,0,0,0 //StackPanel!-- 光源列表 --ItemsControl ItemsSource{Binding LightSourceItems}ItemsControl.ItemTemplateDataTemplateStackPanel OrientationHorizontal Margin5CheckBox Content{Binding Name}IsChecked{Binding IsChecked, ModeTwoWay} /Button Content☝ Margin10,0,0,0Command{Binding DataContext.MoveUpCommand, RelativeSource{RelativeSource AncestorTypeUserControl}}CommandParameter{Binding} /Button Content Margin5,0,0,0Command{Binding DataContext.MoveDownCommand, RelativeSource{RelativeSource AncestorTypeUserControl}}CommandParameter{Binding} /Button Content❌ ForegroundRed Margin5,0,0,0Command{Binding DataContext.RemoveLightSourceCommand, RelativeSource{RelativeSource AncestorTypeUserControl}}CommandParameter{Binding} //StackPanel/DataTemplate/ItemsControl.ItemTemplate/ItemsControl/StackPanel /UserControl第四步效果展示 ✅ 添加新项后立即出现在下方 ❌ 删除指定项 可调整顺序数据集合自动更新 UI 总结 这个小型项目展示了 如何结合 ObservableCollection 和 ItemsControl 构建交互式列表如何用 Prism 的 DelegateCommandT 实现项级操作使用 MVVM 保持代码整洁、解耦、易维护 这种思路不仅适用于光源类型管理也适合于任何需要用户自定义数据项列表的场景。 如需源码或进一步扩展功能如拖拽排序、持久化到配置文件等欢迎留言如果这篇文章对你有帮助欢迎收藏转发 ❤️
http://www.pierceye.com/news/554079/

相关文章:

  • 推进门户网站建设方案wordpress插件自动更新
  • 学院网站建设成效做网站需要什么功能
  • o2o手机网站建设技术网站设计师专业
  • 传媒网站建设方案wordpress开源博客系统最新版
  • 三合一网站一般多少钱浙江省和住房建设厅网站
  • 网站开发背景知识论文网页设计表格
  • 广州优秀网站建设怎么寻找国外客户资源
  • 松江新城投资建设集团有限公司网站华能电子商务平台
  • 网站建设设计制作公司微网站微商城
  • 长宁企业网站建设个人做外贸怎么做
  • 饲料 东莞网站建设免费推广app
  • 手机平台网站开发品牌网站设计首选
  • 哪些网站可以做调查赚钱图片生成软件
  • 网站空间的管理wordpress vip system
  • 新思维网站北京住房建设部网站首页
  • 温州网站制作套餐麒麟网站建设
  • 淘宝接单做网站wordpress能做企业网站吗
  • 网站建设运营公众号运营合同app网站开发书籍下载
  • 网站seo流程网站开发开账务处理
  • 婚介网站方案长沙网络公司电话
  • 自助网站搭建系统做网站接电话一般要会什么
  • 雷州网站建设公司网站建设与管理说课ppt
  • 问答类网站怎么做wordpress 调取页面缩略图
  • 做电影资源网站手机版wordpress实例配置
  • 广西网站建设方案品牌官网方案
  • 游戏工作室网络组建方案seo81
  • 搭建个人网站的步骤温州专业微网站制作价格
  • 网站怎么做充值系统php图书管理系统网站开发
  • 多商家网站建设自助建站系统源码 资源网
  • 广州番禺网站制作公司哪家好文章网站建设