技能点包括 WPf 样式的引用 数据的验证和绑定 比较适合初学者

前台:

 <Window.Resources><local:PathToSource x:Key="n2"/><Style x:Key="{x:Type ContextMenu}" TargetType="{x:Type ContextMenu}"><Setter Property="OverridesDefaultStyle" Value="True"/><Setter Property="SnapsToDevicePixels" Value="True"/><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="{x:Type ContextMenu}"><Border Background="#CD222120" CornerRadius="7, 7, 8, 8" BorderBrush="DarkGray" BorderThickness="2" Opacity="0.96"><StackPanel ClipToBounds="True" Orientation="Vertical" IsItemsHost="True" Margin="5,4,5,4"/></Border></ControlTemplate></Setter.Value></Setter></Style><ControlTemplate x:Key="{x:Static MenuItem.TopLevelItemTemplateKey}" TargetType="{x:Type MenuItem}"><Border Name="Border" ><Grid><ContentPresenter Margin="6,3,6,3" ContentSource="Header" RecognizesAccessKey="True" /></Grid></Border></ControlTemplate><DataTemplate x:Key="Wrapitem"><Grid  Height="86"   Width="86"  ><Grid.ContextMenu><ContextMenu Name="cm" StaysOpen="true"><MenuItem Header="update"/><MenuItem Header="Save"/><MenuItem Header="SaveAs"/></ContextMenu></Grid.ContextMenu><Image Margin="8,8,8,24" Source="{Binding Path=Url,Converter={StaticResource n2}}"/><Label Content="{Binding Path=Text}" Height="22" Width="45"   VerticalAlignment="Bottom"/></Grid></DataTemplate></Window.Resources><Grid><ListBox x:Name="list" Margin="124,63,109,44"  ScrollViewer.HorizontalScrollBarVisibility="Hidden"   ItemTemplate="{StaticResource Wrapitem}"><ListBox.Resources><Style TargetType="ListBoxItem"><Style.Resources><SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="#FFA1A1A1"/></Style.Resources></Style></ListBox.Resources><!--<ListBox.ItemsPanel ><ItemsPanelTemplate><WrapPanel   Orientation="Horizontal" IsItemsHost="True"/></ItemsPanelTemplate></ListBox.ItemsPanel>--><ListBox.Template><ControlTemplate TargetType="{x:Type ListBox}"><ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto"><WrapPanel Orientation="Horizontal" IsItemsHost="True" ScrollViewer.CanContentScroll="True"/></ScrollViewer></ControlTemplate></ListBox.Template></ListBox></Grid>
</Window>

后台:

   /// <summary>/// MainWindow.xaml 的交互逻辑/// </summary>public partial class MainWindow : Window{public MainWindow(){InitializeComponent();load();}public void load() {ObservableCollection<Mean> ListMean = new ObservableCollection<Mean>() {new Mean(){Text="001",Url="i"},new Mean(){Text="002",Url="i"},new Mean(){Text="003",Url="ii"},new Mean(){Text="004",Url="i"},new Mean(){Text="005",Url="i"},new Mean(){Text="006",Url="ii"},new Mean(){Text="007",Url="i"},new Mean(){Text="008",Url="i"},new Mean(){Text="009",Url="i"},new Mean(){Text="010",Url="i"},new Mean(){Text="011",Url="ii"},new Mean(){Text="012",Url="i"},new Mean(){Text="013",Url="i"},new Mean(){Text="014",Url="i"},new Mean(){Text="015",Url="i"},new Mean(){Text="016",Url="i"},  new Mean(){Text="017",Url="i"}};list.ItemsSource = ListMean;}}public class Mean : INotifyPropertyChanged{private string text;public string Text{get { return text; }set { text = value; OnPropertyChanged("Text"); }}private string url;public string Url{get { return url; }set { url = value; OnPropertyChanged("Url"); }}public event PropertyChangedEventHandler PropertyChanged;public void OnPropertyChanged(string propertyName){if (PropertyChanged != null){PropertyChanged(this, new PropertyChangedEventArgs(propertyName));}}}public class PathToSource:IValueConverter{public object Convert(object value, Type targetType, object parameter, CultureInfo culture){string url = string.Format(@"/Images/{0}.jpg", (string)value=="i"?"i":"ii");return new BitmapImage(new Uri(url,UriKind.Relative));}public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) {throw new NotImplementedException();}}

WPf 带滚动条WrapPanel 自动换行 和控件右键菜单相关推荐

  1. Actipro WPF Studio语法编辑器和停靠控件

    Actipro WPF Studio语法编辑器和停靠控件 对接 向选项卡式 MDI 选项卡添加了"全部浮动"菜单项,它将容器中的所有停靠窗口浮动在一起. 改进了目标坞站主机命中测试 ...

  2. WPF 可触摸移动的ScrollViewer控件

    原文:WPF 可触摸移动的ScrollViewer控件 ListBox支持触摸滑动,而ScrollViewer默认不支持. ScrollViewer如需要添加上下/左右触摸移动,需要在Touch事件中 ...

  3. ASP.NET Menu控件子菜单弹出导致页面出现滚动条问题

    ASP.NET Menu控件子菜单弹出的时候导致页面CSS属性的Min-Height产生变化,结果是原来全屏的画面,多出了纵滚动条.可以通过如下方法解决: 将ASP.NET控件放置到Table的单元格 ...

  4. WPF 中动态创建和删除控件

    WPF 中动态创建和删除控件 原文:WPF 中动态创建和删除控件 动态创建控件 1.容器控件.RegisterName("Name",要注册的控件)   //注册控件 2.容器控件 ...

  5. c语言windows 编程下silder控件,VB6 常用控件 滚动条ScorllBar和Slider控件

    滚动条(ScorllBar)和Slider控件通常用来附在窗体上以协助观察数据或确定位置,也可用来作为数据输入的工具. 滚动条(ScorllBar)和Slider控件都有水平和垂直两种,Slider控 ...

  6. android 带清除功能的输入框控件

    今天,看到一个很好的自定义输入框控件,于是记录一下. 效果很好: 一,自定义一个类,名为ClearEditText package com.example.clearedittext;import a ...

  7. 想建一个带分隔条的label 控件;

    想建一个带分隔条的label 控件: Delphi / Windows SDK/API http://www.delphi2007.net/DelphiBase/html/delphi_2006120 ...

  8. WPF遍历当前容器中某种控件的方法

    原文:WPF遍历当前容器中某种控件的方法 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/m0_37591671/article/details/79 ...

  9. Silverlight带关闭动画的内容控件,可移动的内容控件(一)

    本例给大家介绍两个自定义控件,一个有显示和关闭两种状态,在状态切换时有动画效果.另外一个是可以拖动的内容控件,可以制作能拖动的面板. A.带关闭动画的内容控件. .xaml View Code < ...

最新文章

  1. sql语句转linq的一个小工具
  2. oracle 连接池sql跟踪,实现SQLServer、MySQL和oracle数据库连接池
  3. 如何确定固定资产入账价值
  4. linux rc.d的作用,init.d,rc.d详解 Linux运行时详解
  5. 代理 XP”组件已作为此服务器安全配置的一部分被关闭。系统管理员可以使用 sp_configure 来启用“代理 XP”。...
  6. 给Source Insight做个外挂系列之四--分析“Source Insight”
  7. 创新的迷思——2019 Microsoft Hackathon 苏州站回顾
  8. ROS(kinetic)安装中的一些问题(已解决)
  9. Java多线程:线程休眠
  10. LeetCode 5381. 查询带键的排列
  11. 淘宝新规:售假者严重违规须缴纳100%保证金
  12. 求一个向量变换为另一个向量的矩阵_机器学习数学-矩阵
  13. 题目:离骚-原文和译文少了一行,你能写程序识别并找出来吗
  14. 教你防范QQ黑客工具!!!!
  15. cocos2d实现语音_【Cocos Creator与C++知识分享】Creator接入呀呀语音SDK
  16. JAVA RSA算法加密实现 eclipse
  17. PostgreSQL死锁了怎么办?
  18. testufo测试刷新率测试_高刷屏比低刷屏强多少?用UFO Test工具一目了然
  19. NTS-NetTopologySuite中判断shape中的点是否有压盖、重叠
  20. 数据库编程总结[转载 深之JohnChen的专栏]

热门文章

  1. hive 计算个人的累计金额占比
  2. 手机中PDF格式转换PPT操作方法
  3. 【原创】VBA学习笔记(300)VBA 很多工作表函数都只对1维数组有用,用2维数组上经常报错!
  4. MTCNN配置及训练详细步骤
  5. MeterSphere一站式开源持续测试平台
  6. 频上“热搜”的人工智能专业,主要学什么?为什么如此火爆?
  7. linux指令——刘雯丽
  8. java字符串大小写转化
  9. 路由器/交换机flow 调试指令
  10. android 自定义 snackbar,Android Study Material Design 五 之:自定义Toast以及玩转SnackBar...