项目里想用Silverlight制作工具栏,之前用的是Image和TextBlock完成的,但是代码混乱,在后来版本中突然想到ListBox可以实现这样的效果。使用后效果确实不错。下面是我的笔记

  1. <!--
  2. 注意点
  3. ()ItemsPanel中ItemsPanelTemplate模板 指定用于项的布局的面板。
  4. 这个很重要,用来设置ListBox.ItemTemplate中DataTemplate中的StackPanel排列样式。
  5. 它不光能控制StackPancel的排列样式,还能控制其他控件(Image,Grid..)
  6. ()为了展示形同工具栏的效果要隐藏ListBox的水平滚动和垂直滚动。
  7. ScrollViewer.HorizontalScrollBarVisibility="Hidden" ScrollViewer.VerticalScrollBarVisibility="Hidden"
  8. ()数据时通过数据源绑定的,这样给人简洁的感觉
  9. -->
  10. <Grid x:Name="LayoutRoot" Background="White" DataContext="{StaticResource ToolsDatasDataSource}" >
  11.  
  12. <ListBox Height="" HorizontalAlignment="Left" Name="listBox1" VerticalAlignment="Top" Width="" ItemsSource="{Binding}" FlowDirection="LeftToRight" ScrollViewer.HorizontalScrollBarVisibility="Hidden" ScrollViewer.VerticalScrollBarVisibility="Hidden">
  13. <ListBox.ItemsPanel>
  14. <ItemsPanelTemplate>
  15. <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center"/>
  16. </ItemsPanelTemplate>
  17. </ListBox.ItemsPanel>
  18. <ListBox.ItemTemplate>
  19. <DataTemplate >
  20. <StackPanel Orientation="Horizontal" >
  21. <Image Width="" Height="" Source="{Binding Path=ImageName}" Margin="10,0,0,5" />
  22. <TextBlock Text="{Binding Path=Title,Mode=TwoWay}" Margin="5,0,0,10"/>
  23. </StackPanel>
  24. </DataTemplate>
  25. </ListBox.ItemTemplate>
  26. </ListBox>
  27. </Grid>

  后台代码:

  1. public class ToolsDatas:ObservableCollection<ToolsData>
  2. {
  3. public ToolsDatas()
  4. {
  5. string strDir = "/ListBoxDemo;component/Images/";
  6. Add(new ToolsData(strDir+"Layer18.png", "图层"));
  7. Add(new ToolsData(strDir+"range18.png", "测距"));
  8. Add(new ToolsData(strDir+"surface18.png", "测面"));
  9. Add(new ToolsData(strDir+"mark18.png", "标注"));
  10. Add(new ToolsData(strDir+"scale18.png", "标尺"));
  11. Add(new ToolsData(strDir+"xy18.png", "坐标"));
  12. Add(new ToolsData(strDir+"screenshot18.png", "截屏"));
  13. }
  14.  
  15. }

  运截图行

  

  本文来自焦涛的博客,原文地址:http://www.cnblogs.com/Joetao/articles/2128646.html

ItemsPanelTemplate的用法的更多相关文章

  1. 关于WPF中Popup中的一些用法的总结

    Popup控件是一个常用的非常有用的控件,顾明思义就是弹出式控件,首先我们来看看MSDN对它的解释吧,表示具有内容的弹出窗口,这个是非常重要的控件,我们看看它的继承关系吧: System.Object ...

  2. EditText 基本用法

    title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...

  3. jquery插件的用法之cookie 插件

    一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...

  4. Java中的Socket的用法

                                   Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...

  5. [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法

    一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...

  6. python enumerate 用法

    A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...

  7. [转载]Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结

    本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...

  8. 【JavaScript】innerHTML、innerText和outerHTML的用法区别

    用法: <div id="test">   <span style="color:red">test1</span> tes ...

  9. chattr用法

    [root@localhost tmp]# umask 0022 一.chattr用法 1.创建空文件attrtest,然后删除,提示无法删除,因为有隐藏文件 [root@localhost tmp] ...

随机推荐

  1. 201521123007《Java程序设计》第7周学习总结

    1. 本周学习总结 2. 书面作业 1. ArrayList代码分析 1.1 解释ArrayList的contains源代码 以下是ArrayList的contains源代码: public bool ...

  2. 201521123089 《Java程序设计》第7周学习总结

    一.本周学习总结 1.以你喜欢的方式(思维导图或其他)归纳总结集合相关内容. 二.书面作业 1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 如果对象为空,ele ...

  3. 201521123002 《Java程序设计》第2周学习总结

    <Java程序设计>第2周学习总结 1. 本章学习总结 String 1.String类的对象是不可变(immutable)的 2.拼接(+号) "PG"+13; (一 ...

  4. 2017JAVA课程设计

    1.团队课程设计博客链接 http://www.cnblogs.com/ltykm/p/7063663.html 2.个人负责模块或任务说明 本人任务:定时器具体功能的实现 3.自己的代码提交记录截图 ...

  5. web前端 学习线路

    1. 前言 大约在几个月之前,让我看完了<webkit技术内幕>这本书的时候,突然有了一个想法.想把整个web前端开发所需要的知识都之中在一个视图中,形成一个完整的web前端知识体系,目的 ...

  6. cas-单点登录-应用说明

    单独在tomcat中启动cas 1,  我的百度网盘中有 cas  和 tomcat-cas 压缩包  http://pan.baidu.com/s/1bnxVRkF   直接解压缩就可以使用. 2, ...

  7. JPA关系映射之one-to-one

    一对一关联有两种实现方式:一种是共享的主键关联,另一种是一对一的外键关联 1.共享的主键关联:让两个对象具有共同的主键值,以表明他们之间的一一对应关系. Person.java类 public cla ...

  8. SharedPreferences的使用

  9. 编号中的数学_KEY

    题目描述: 从美国州际高速公路建筑者那里,奶牛们引进了一种路径编号系统,来给牧场之间的道 路编号.他们已经把 N(1<=N<=25)个牧场,用 1 到 N 的整数编号.现在他们需要将牧场间 ...

  10. Spring Boot Document Part II(上)

    Part II. Getting started 这一章内容适合刚接触Spring Boot或者"Spring"家族的初学者!随着安装指导说明,你会发现对Spring boot有一 ...