这些“样式”应该怎样修改???
这些“样式”应该怎样修改???
问题如图所示:
[img=http://social.msdn.microsoft.com/Forums/getfile/142792][/img]
问题一:“DataGrid”列如何居中?
问题二:“Grid”线样式如何修改??? 改为实线。
问题三:“TextBlock”放在“Grid”单元格中,如何居中显示??? 水平居中,垂直居中。
问题四:如何将“DataGrid”各行之间的分割线显示出来,就像它的边框一样???
问题五:
“Grid”、“Textblock”这些元素定义在“DataGrid”控件的“<sdk:DataGridTemplateColumn.CellTemplate >”中,“Expressionblend”就没办法编辑了啊???如下图:
[img=http://social.msdn.microsoft.com/Forums/getfile/142793][/img]
XAML如下:
<Grid Margin="69,80,79,82">
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition/>
</Grid.RowDefinitions>
<sdk:Label Background="#FFB7D4E0" Content="{Binding EnergyTitle}"/>
<sdk:DataGrid Grid.Row="1" Name="dg_EnergyCustom" AutoGenerateColumns="False">
<sdk:DataGrid.Columns>
<sdk:DataGridTemplateColumn DisplayIndex="-1" Header="年份" IsReadOnly="True" Width="30*" >
<sdk:DataGridTemplateColumn.CellTemplate >
<DataTemplate>
<TextBlock FontSize="13" HorizontalAlignment="Center" VerticalAlignment="Center" Text="{Binding EnergyYear}"></TextBlock>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
<sdk:DataGridTemplateColumn Header="项目" Width="30*">
<sdk:DataGridTemplateColumn.CellTemplate >
<DataTemplate>
<Grid ShowGridLines="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" >
<Grid.RowDefinitions>
<RowDefinition Height="30" />
<RowDefinition Height="20"/>
<RowDefinition Height="20"/>
</Grid.RowDefinitions>
<TextBlock Text="能耗量合计" Grid.Row="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ></TextBlock>
<TextBlock Text="单位面积能耗" Grid.Row="1"></TextBlock>
<TextBlock Text="生均能耗" Grid.Row="2"></TextBlock>
</Grid>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
<sdk:DataGridTemplateColumn Header="全校" Width="40*">
<sdk:DataGridTemplateColumn.CellTemplate >
<DataTemplate>
<Grid ShowGridLines="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition Height="30" />
<RowDefinition Height="20"/>
<RowDefinition Height="20"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Text="{Binding EnergySum}" HorizontalAlignment="Center" VerticalAlignment="Center" Height="30"></TextBlock>
<TextBlock Grid.Row="1" Text="{Binding EnergyUnitArea}" ></TextBlock>
<TextBlock Grid.Row="2" Text="{Binding EnergyEveryOne}"></TextBlock>
</Grid>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
</sdk:DataGrid.Columns>
</sdk:DataGrid>
</Grid>
[解决办法]
问题一:修改DataGrid列头DataGridColumnHeader样式
问题二:修改DataGridRow样式
问题三: 同问题一
问题四: 同问题二
问题五: 没看明白说的什么..
[解决办法]
1.空格控制
2.Grid的线没办法直接修改,如果你非要修改需要重写Grid,如果你不想这么麻烦那就给每个控件外面放一个Border,然后设置Border的边框,由于Border默认会填满Grid。所以就会出现有分隔线的感觉!一样用
3.设置Textblock的以下属性VerticalAlignment="Center" HorizontalAlignment="Center"
4.DataGrid默认的样式就会出现行和行之前的间隔,如果不满意就得自己定义一个Style这样,然后赋给它。方式可以放在资源文件中,或者直接在DataGrid实现。
5.可以编辑!但是编辑的不是在页面上,而是当你选择DataGrid后Blend有个Columns在这里面去编辑你的这些东西
看看行不行,有问题再说
[解决办法]
TextBlock没办法垂直居中的,非要垂直居中,只能用Label