在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. (八)Android广播接收器BroadcastReceiver

    一.使用Broadcast Reciver 1.右击java文件夹,new->other->Broadcast Receiver后会在AndroidManifest.xml文件中生成一个r ...

  2. Debug编辑通过转Release找不到命名空间

    首先查看缺少命名空间在哪个项目中 然后看缺少命名空间项目中bin/Release有没有相关文件 如果没有对该项目进行Release编译然后在编译所有项目

  3. Object-C 重载

    方法重载要保证三个条件 1在同一个类中 2.方法参数类型相同 名称相同 3.方法的参数不同 请看下面的例子 @interface whgMyObject : NSObject -(void)print ...

  4. 静态变量static

    1.在我们平时些程序中我们经常需要一些变量的他们能纪录我们所需要的值,但是平常的int类型达不到这样的目的,所以呢就有了static的基态变量,静态变量就像  B/S中的session,cookio等 ...

  5. 【IOS学习基础】NSObject.h学习

    一.<NSObject>协议和代理模式 1.在NSObject.h头文件中,我们可以看到 // NSObject类是默认遵守<NSObject>协议的 @interface N ...

  6. C#9 结构体 员工信息 学生成绩

    结构体:相当于是我们自己定义的一种复杂的类型. int...  double float bool char string  DateTime  数组类型 生活中大部份的对象都是复合型的对象. 如何定 ...

  7. 【转载】Java线程面试题 Top 50

    Java线程面试题 Top 50 2014/08/21 | 分类: 基础技术 | 4 条评论 | 标签: 多线程, 面试题 分享到:140 本文由 ImportNew - 李 广 翻译自 javare ...

  8. 转载:MyEclipse启动Tomcat缓慢的原因及解决办法

    转自linux公社 不知道朋友们是否有一种烦恼:有时候使用MyEclipse启动Tomcat十分缓慢,可能在几分钟前20秒以内,但现在却需要200秒开外:其间内存和CPU都被占用地厉害,而控制台的输出 ...

  9. 存储过程与SQL的结合使用

    --1调用存储过程exec 存储过程名 参数 openrowset方法使用: select * from openrowset('sqlncli', 'server=192.168.247.64;ui ...

  10. 关于使用HttpSessionBindingListener获取在线用户数,同一用户登陆一次

    原创地址:http://blog.csdn.net/jiaoxueli/article/details/2226134 考虑到项目中统计在线用户数量和同一用户只能登陆一次的需求,查询联系 HttpSe ...