在Listbox中横向显示CheckBox

前台代码

 <ListBox Height="" HorizontalAlignment="Left" Margin="231,25,0,0" Name="listMonth" VerticalAlignment="Top" Width="" >
<StackPanel x:Name="sp" Orientation="Horizontal">
需要添加的元素
</StackPanel>
</ListBox>

后台动态添加CheckBox

 foreach(var i in listOfMonth)
{
CheckBox cbMonth = new CheckBox();
cbMonth.Content = new TextBlock() { Text = i + "月?" };
cbMonth.IsChecked = true;
cbMonth.Checked += new RoutedEventHandler(cbMonth_Checked);
cbMonth.Unchecked += new RoutedEventHandler(cbMonth_Checked);
this.sp.Children.Add(cbMonth);
}

循环读取

 foreach (var item in sp.Children)
{
if ((item as CheckBox).IsChecked ?? false)
{
int Month = Convert.ToInt32(((item as CheckBox).Content as TextBlock).Text.ToCharArray()[].ToString());
}
}

除了这种方法外还有一种方式:横排模版

 <ListBox ItemsSource="{Binding DishesList}" Margin="0,58,0,21"
ScrollViewer.VerticalScrollBarVisibility="Disabled"
ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<toolkit:WrapPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate >
<DataTemplate>
<!--修改圆角外边-->
<Border BorderThickness="" BorderBrush="#FFD9D6D6" Margin="0,5,0,0" CornerRadius="" >
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center" Width=""
Background="#FFD9D6D6">
<StackPanel Height="" Margin="10,0,0,0" HorizontalAlignment="Center" Background="#FFF5F3F3">
<Image
Source="{Binding dishesimage, Converter={StaticResource ImageConver}, Mode=TwoWay}"
Style="{StaticResource imagestyle}" />
<Canvas Height="" Margin="0,40,0,0" Background="Black"/>
</StackPanel>
<StackPanel Width="" Margin="20,0,0,0">
<TextBlock Text="{Binding dishesname}" Style="{StaticResource titlestyle}"/>
<TextBlock Text="{Binding dishesprice,Converter={StaticResource DispicConver},Mode=TwoWay}" Style="{StaticResource authorstyle}"/>
<TextBlock Text="{Binding typename}" Style="{StaticResource timestyle}"/>
<!--<Canvas Height="" Margin="0,40,0,0" Background="Black"/>-->
</StackPanel>
</StackPanel>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>

listbox横向排列的更多相关文章

  1. WPF ListBox 横向排列

    WPF ListBox 横向排列   如果只是单纯的让ListBox可以横向配列,这样很简单,只需要更改ListBox的ItemsPanel模板就可以,例如: <ListBox><L ...

  2. wpf之ListBox中ListBoxItem横向排列

    ListBox中ListBoxItem默认是纵向排列,可以通过自定义样式,让其横向排列, 如下Demo: XAML: <Window x:Class="ListBoxItemStyle ...

  3. Template、ItemsPanel、ItemContainerStyle、ItemTemplate(包括ListBox的Item子项是横向排列)

    Template.ItemsPanel.ItemContainerStyle.ItemTemplate 分类: WPF2011-10-12 10:13 4716人阅读 评论(0) 收藏 举报 data ...

  4. css ul li 横向排列

    因为li是块级元素,默认占一行的,要想实现横向排列,一般通过以下两个方法:float:left这样设置有一个问题,li浮动以后则脱离了文本流,即不占位置,如果它的父级元素有具体的样式且没有固定宽高,建 ...

  5. ul li横向排列及圆点处理

    如何用CSS制作横向菜单 让ul li横向排列及圆点处理   第一步:建立一个无序列表 我们先建立一个无序列表,来建立菜单的结构.代码是:<ul> <li><a href ...

  6. 原创: EasyUI Tree 最后一级 节点 横向排列

    原创: EasyUI  Tree 最后一级 节点 横向排列 转载请指明出处 必须要写在: onLoadSuccess 事件中 ddAuthTree.tree({ lines: true, checkb ...

  7. 如何定义让两个div横向排列

    方法一: 一般情况,默认的div是写一个换一行,那么如何定义两个div横向排列而不换行呢? div默认的display属性是block.所以每一个div都是新的一行,现在把display换成inlin ...

  8. 如何让div横向排列

    方法一: 一般情况,默认的div是写一个换一行,那么如何定义两个div横向排列而不换行呢? div默认的display属性是block.所以每一个div都是新的一行,现在把display换成inlin ...

  9. 无序列表li横向排列的间隙问题

    今天在写页面的时候,无意中遇到这样一个问题,就是无序列表li横向排列即做成导航栏时,列表项间有间隙. 如: 将列表项li变成列表块后(即将li标签设置为,display:inline-block后), ...

随机推荐

  1. C#根据函数名称执行对应的函数

    using System; using System.Collections.Generic; using System.Reflection; namespace test { public cla ...

  2. c# List<string>和List<int>互相转换

    List<string> 转 List<int> var list = (new[]{"1","2","3"}).T ...

  3. IDEA工具配置以及常用快捷键

    1.修改JVM参数 (IntelliJ IDEA 10.0.1包含以上版本不需要设置)修改idea.exe.vmoptions配置文件调整以下内容:-Xms256m-Xmx384m-XX:MaxPer ...

  4. 回溯算法————n皇后、素数串

    回溯就是算法是搜索算法中一种控制策略,是一个逐个试探的过程.在试探的过程中,如果遇到错误的选择,就会回到上一步继续选择下一种走法,一步一步的进行直到找到解或者证明无解为止. 如下是一个经典回溯问题n皇 ...

  5. 查看 并发请求数及其TCP连接状态

    服务器上的一些统计数据: 1)统计80端口连接数netstat -nat|grep -i "80"|wc -l 2)统计httpd协议连接数ps -ef|grep httpd|wc ...

  6. iOS Dev (22) 文件、路径

    iOS Dev (22) 文件.路径 作者:CSDN 大锐哥 博客:http://blog.csdn.net/prevention 沙箱 Sandbox 的路径 和其他很多应用平台一样,iOS 也限定 ...

  7. sql中Statement与PreparedStatement的区别

    1.Statement用于执行静态sql语句,在执行时,必须指定一个事先准备好的sql语句,也就是说sql语句是静态的. 2.PrepareStatement是预编译的sql语句对象,sql语句被预编 ...

  8. 前端开发面试题收集 HTML

    Doctype是什么?说明特点. <!doctype>声明必须处于HTML文档的头部,在标签之前. <!doctype>声明不是一个HTML标签,是一个用于告诉浏览器使用哪种H ...

  9. yii2 安装过程中的问题及解决方法

    一.php版本要求5.4+,如果使用wamp组合包,建议更换 二.各种模块的支持,一般只要修改php.ini文件,去掉相应模块前的注释即可. 注意,Intl extension模块的支持需要将     ...

  10. JSC学习笔记:JavaScriptCore 初识

    JSContext/JSValue JSContext是运行JavaScript的上下文环境,是一个全局环境实例:类似于浏览器端的window对象,表示浏览器的窗口:在浏览器中,所有JavaScrip ...