自定义“伪GridView”---菜鸟三无残品系列
<div id="cnblogs_post_body">做.NET整整一年半了,天天混日子,技术也不行,浑浑噩噩的,过的平淡啊,偶尔出去自助游,总寻思着是不是要干点什么,原因无他,以前的日子太单调,想换个口味。
这不最近做了一个WPF项目,项目做完了,闲下来了,就不知道做什么了,上班吗,总得为自己找点事做,天天上网,浏览网页,聊天(把妹除外),听音乐,
天天反反复复的搞这些个有的没的事,说真的,没劲,还不如搞一些有实际的事,这样的事搞多了,你想要的东西或许会来的哦。
我一直认为我写这个总结是迫于无赖啊,却又不得不写,Why? 因为没有多余的钱出去旅游,太多我想去的地方不能去,想待的地方不能待,记得上次自己一个人
跑到杭州西湖那边去,什么都没有就一个包包,看着别人手里拿着各种设备,彻底的疼了,回来一想还是安心的待在苏州吧,安心工作,提升自己的实力吧。
但是怎么样提升自己的实力了,我ASP.NET不懂,WCF也不会,WPF连门也没有入,一句话什么都不懂,唯一会那么一丁点的就是总结。
前天因为要改点东西,打开了我最近做的一个WPF项目,说实话,我下面要写的东西没有一点技术含量,没有任何亮点,没有任何美感。
下面我们来说说需求吧:
我这个项目属于工厂监控的项目,例如客户那边有一条生产线,有10台机器,#1,#2.....#10,代表10台机器的编号,这10台机器类型相同,所产生的数据
类型是一致的,数据显示以网格形式显示。
如下图: http://pic002.cnblogs.com/images/2012/162598/2012081410592570.png
其实实际的需求比上面要求多一点,要求数据是实时更新,并且特定的数据显示特定的颜色,值类型的数据显示的背景色会根据定义的
颜色取值范围而显示颜色。
下面是我依据项目敲的一个范例:
第一步 先看一下这个列子的项目截图:
http://pic002.cnblogs.com/images/2012/162598/2012081411085191.png
第二步思路介绍
实现的思路:在主界面先制定好整个GridView的排列形式,然后通过后台添加控件的方式来逐一添加数据(10台机械所产生的参数类型一致)。
主界面设计如下图:
http://pic002.cnblogs.com/images/2012/162598/2012081411174432.png
接下来就是WPF前台代码的布局了...
代码如下:
<div class="cnblogs_code" style="text-align: left;" >http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gifhttp://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gifView Code <div id="cnblogs_code_open_3dd2092a-79e8-4455-aeb7-964a40da866e" class="cnblogs_code_hide"><Window x:Class="WPFDemoOne.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Width="1048" Height="576"> <Border Background="#B3B3B3"> <Grid Grid.Column="0" Background="#50585D" TextBlock.Foreground="#FFFFFF" x:Name="XXOOGrid" TextBlock.FontSize="18" > <Grid.ColumnDefinitions> <ColumnDefinition Width="70"/> <ColumnDefinition Width="85"/> <ColumnDefinition Width="115"/> <ColumnDefinition/> <ColumnDefinition/> <ColumnDefinition/> <ColumnDefinition/> <ColumnDefinition/> <ColumnDefinition/> <ColumnDefinition/> <ColumnDefinition/> <ColumnDefinition/> <ColumnDefinition/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition /> <RowDefinition /> <RowDefinition /> <RowDefinition /> <RowDefinition /> <RowDefinition /> <RowDefinition /> <RowDefinition /> <RowDefinition /> <RowDefinition /> <RowDefinition /> <RowDefinition /> </Grid.RowDefinitions> <Border BorderBrush="#252525" BorderThickness="1 1 0 0" Grid.ColumnSpan="3"> <TextBlockHorizontalAlignment="Center" VerticalAlignment="Center" Text="xxxxoooo"/> </Border> <Border BorderBrush="#252525" BorderThickness="1 1 0 0" Grid.ColumnSpan="3" Grid.Row="1" > <TextBlockHorizontalAlignment="Center" VerticalAlignment="Center" Text="xxoo"/> </Border> <Border BorderBrush="#252525" BorderThickness="1 1 0 0"Grid.ColumnSpan="3"Grid.Row="2" > <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="xxoo"/> </Border> <Border BorderBrush="#252525" BorderThickness="1 1 0 0" Grid.ColumnSpan="3" Grid.Row="3" > <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="xxoo"/> </Border> <Border BorderBrush="#252525" BorderThickness="1 1 0 0" Grid.Row="4" Grid.ColumnSpan="3"> <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="xxoo"/> </Border> <Border BorderBrush="#252525" BorderThickness="1 1 0 1" Grid.Row="5" Grid.ColumnSpan="3"> <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="xxoo"/> </Border> <Border Grid.Column="0" Grid.RowSpan="6" BorderBrush="#252525"BorderThickness="1 1 0 0"Grid.Row="6"> <TextBlockText="xxoo" Width="72" FontSize="12" TextAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center" TextWrapping="Wrap"/> </Border> <Border BorderBrush="#252525" Grid.Column="1" Grid.Row="6" BorderThickness="1 1 0 0" Grid.RowSpan="2"> <TextBlockText="xxoo" Width="60" FontSize="12" TextAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center" TextWrapping="Wrap"/> </Border> <Border BorderBrush="#252525" Grid.Column="2"Grid.Row="6" BorderThickness="1 1 0 0"> <TextBlock Text="xxoo" HorizontalAlignment="Center" VerticalAlignment="Center"/> </Border> <Border BorderBrush="#252525" Grid.Column="2" Grid.Row="7" BorderThickness="1 1 0 0"> <TextBlock Text="xxoo" HorizontalAlignment="Center" VerticalAlignment="Center"/> </Border> <BorderBorderBrush="#252525"Grid.Column="1" Grid.Row="8" BorderThickness="1 1 0 0" Grid.RowSpan="4"> <TextBlockText="xxoo" Width="80" FontSize="12" TextAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center" TextWrapping="Wrap"/> </Border> <Border BorderBrush="#252525"Grid.Column="2"Grid.Row="8" BorderThickness="1 1 0 0"> <TextBlock Text="xxoo" HorizontalAlignment="Center" VerticalAlignment="Center"/> </Border> <Border BorderBrush="#252525" Grid.Column="2"Grid.Row="9" BorderThickness="1 1 0 0"> <TextBlock Text="xxoo" HorizontalAlignment="Center" VerticalAlignment="Center"/> </Border> <Border BorderBrush="#252525"Grid.Column="2"Grid.Row="10" BorderThickness="1 1 0 0"> <TextBlock Text="xxoo" HorizontalAlignment="Center" VerticalAlignment="Center"/> </Border> <Border BorderBrush="#252525" Grid.Column="2" Grid.Row="11"BorderThickness="1 1 0 0"> <TextBlock Text="xxoo" HorizontalAlignment="Center" VerticalAlignment="Center"/> </Border> </Grid> </Border></Window>
页:
[1]