在C#中实现如图的功能

view的代码

<base:BaseView x:Class="Luman.Tdrc.SampleModule.Test.GaoTest.DemoListPicView"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:base="clr-namespace:Luman.Project.ClientShare.Sys.Base;assembly=Luman.Project.ClientShare"xmlns:chart="clr-namespace:Luman.Tdrc.EchartsModule.Chart;assembly=Luman.Tdrc.EchartsModule"xmlns:demo="clr-namespace:Luman.Tdrc.SampleModule.Test"mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="300"><base:BaseView.Resources><ResourceDictionary><ResourceDictionary.MergedDictionaries><ResourceDictionary Source="/Luman.Tdrc.ShareModule;component/Sys/Themes/ResourceDictionary.xaml"/></ResourceDictionary.MergedDictionaries></ResourceDictionary></base:BaseView.Resources><base:ViewRoot><Grid><ListBox Name="PicList" Background ="Transparent" ItemsSource="{Binding ItemCollection}"  SelectedItem="{Binding CurItem}"  ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.CanContentScroll="True" Margin="39,47,42,37"><ListBox.ItemsPanel><ItemsPanelTemplate><WrapPanel/></ItemsPanelTemplate></ListBox.ItemsPanel><ListBox.ItemTemplate><DataTemplate><Grid Margin="10" Width="100" Height="120"><Grid.RowDefinitions><RowDefinition Height="Auto" /><RowDefinition Height="Auto" /></Grid.RowDefinitions><Image x:Name="EngineerPic" Source="/Luman.Tdrc.SysModule;component/Image/工程师头像2.jpg" HorizontalAlignment="Center" VerticalAlignment="Center" Width="100" Height="100" ToolTip="{Binding ToolTipContext}" MouseEnter="EngineerPic_MouseEnter"/><TextBlock Text="{Binding EngineerName}" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center" Height="20"/></Grid></DataTemplate></ListBox.ItemTemplate></ListBox></Grid></base:ViewRoot>
</base:BaseView>

ViewModel的代码

using System.Collections;
using System.Collections.ObjectModel;
using System.Windows;
using Luman.Project.ClientShare.Sys.Base;
using Luman.Tdrc.EchartsModule.Chart;
using Luman.Tdrc.ServerData.MidEntities.Rpa;
using Prism.Commands;
using Prism.Regions;namespace Luman.Tdrc.SampleModule.Test.GaoTest
{public class DemoListPicViewModel : BaseDataGridViewModel<EngineerGroupDetailData>{public DemoListPicViewModel(){}protected override void RefreshData(NavigationContext navigationContext){OnQuery();}public new  ObservableCollection<EngineerGroupDetailData> ItemCollection{get { return _itemCollection; }set { SetProperty(ref _itemCollection, value); }}public override EngineerGroupDetailData CurItem{get { return _curItem; }set{SetProperty(ref _curItem, value);               }}protected override void OnQuery(){DataGridHelp.Where.Clear();DataGridHelp.InitLoad();}}
}

C# WPF MVVM框架下 ,如何实现listBox图片排列相关推荐

  1. .NET Core 3 WPF MVVM框架 Prism系列之事件聚合器

    本文将介绍如何在.NET Core3环境下使用MVVM框架Prism的使用事件聚合器实现模块间的通信 一.事件聚合器  在上一篇 .NET Core 3 WPF MVVM框架 Prism系列之模块化 ...

  2. c#事件的发布-订阅模型_NET Core 3 WPF MVVM框架 Prism系列之事件聚合器

    本文将介绍如何在.NET Core3环境下使用MVVM框架Prism的使用事件聚合器实现模块间的通信 一.事件聚合器#  在上一篇 .NET Core 3 WPF MVVM框架 Prism系列之模块化 ...

  3. wpf mvvm模式下CommandParameter传递多参

    wpf mvvm模式下CommandParameter传递多参 原文:wpf mvvm模式下CommandParameter传递多参 CommandParameter一般只允许设置一次,所以如果要传递 ...

  4. 疯狂 java轻量级框架_ViewModel从未如此清爽 - 轻量级WPF MVVM框架Stylet

    Stylet是我最近发现的一个WPF MVVM框架, 在博客园上搜了一下, 相关的文章基本没有, 所以写了这个入门的文章推荐给大家. Stylet是受Caliburn Micro项目的启发, 所以借鉴 ...

  5. C# WPF MVVM模式下在主窗体显示子窗体并获取结果

    01 - 前言 在winform中打开一个新的子窗体很简单,直接实例化窗体并show一下就可以: Form2 f2 = new Form2();f2.Show(); 或者 Form2 f2 = new ...

  6. wpf mvvm框架_[Windows] 在 Microsoft Docs 网站中挖掘 MVVM 的各种学习资源

    最近写了一些 MVVM 框架的文章,翻了一些 Microsoft Docs 的文档,顺便就对 MVVM 本身来了兴致,想看看更多当年相关的文档.在 MVVM 出现后十多年,我在不同的场合见到过多种 M ...

  7. WPF MVVM模式下的无阻塞刷新

    MVVM模式下的无阻塞刷新的两种方法: //传统模式下的无刷新调用(主线程开新线程,新线程又调用主线程来更新UI) //第1步先在线程内部计算出需要绑定的数据 //第2步然后再使用Invoke/Beg ...

  8. MVVM框架下,WPF实现Datagrid里的全选和选择

    最近的一个项目是用MVVM实现,在实现功能的时候,就会有一些东西,和以前有很大的区别,项目中就用到了常用的序号,就是在Datagrid里的一个字段,用checkbox来实现. 既然是MVVM,就要用到 ...

  9. C# WPF MVVM框架搭建

    至于啥是MVVM在此不再赘述,可以参考这位大神写的博客 : http://www.cnblogs.com/durow/p/4853729.html 在此只是搭建一个简单的框架, 仅供学习参考, 欢迎转 ...

最新文章

  1. oracle 查询关键字,Oracle 中的SELECT 关键字(查询、检索)
  2. 利用任务调度特性检测Android模拟器
  3. 一段JAVA签名算法的PHP改写
  4. Bringing up interface eth0: Device eth0 does not seem to be present, delaying initialization
  5. Null hypothesis TypeⅠerror Type Ⅱ error
  6. android图标错误的是什么意思啊,Android错误:找不到与给定名称匹配的资源(在icon处,值为@drawable/icon) - Android - srcmini...
  7. springcloud项目的启动顺序_Spring Cloud微服务项目完整示例,含注册中心,网关,断路器等等...
  8. lua调用shell 脚本
  9. CAA创建自定义CATIA工具栏按钮和菜单
  10. 自学硬件真的可行吗?单片机原理知识点之存储器结构的理解(1)
  11. C# WPF ASP.net 上传多文件和数据
  12. Python代码刷博客访问量
  13. ActivityMQ使用
  14. 三行代码,教你在python中将MP4转化为GIF,这不完胜迅捷视频转化器?
  15. java+整合handwrite_E-signature-master
  16. niceScroll相关配置参数
  17. 五阶段--使用 Kibana 操作 ES/ 搜索
  18. 万娟 白话大数据和机械学习_白话大数据与机器学习
  19. 网络共享计算机权限访问,局域网共享时提示:你没有权限访问,请与网络管理员联系...
  20. 苹果手机短信html,苹果手机的短信功能你真的会用吗?这样用更省心哦!

热门文章

  1. 大学生数学竞赛教程【蒲和平】
  2. 最新导航综述!SLAM方法/数据集/传感器融合/路径规划与仿真多个主题
  3. 「 运动控制 」“关节空间与笛卡尔空间进行轨迹规划”研究
  4. (收藏必备)git clone命令下载github资源速度慢解决方法
  5. python怎么连接sqlserver数据库_python连接数据库SQLServer
  6. 计算机病毒攻击预警,【图片】计算机病毒红色预警 (危险度:极高)【mizukanainai吧】_百度贴吧...
  7. 开业当天销售额达30万,番茄口袋能否打造线下“小红书”?
  8. 3Q 大战 双方口述
  9. CTP原生接口MACD多品种止盈止损源码
  10. Python基础加强学习