首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > CAD教程 >

silverlight 样式设置有关问题

2012-03-12 
silverlight 样式设置问题封装datagrid,调整其的样式,表头,column,row等样式,设计方法见下面内容。按照下面

silverlight 样式设置问题
封装datagrid,调整其的样式,表头,column,row等样式,设计方法见下面内容。  
按照下面的操作,发现 DataGridEx只能展示了DataGridStyle1修改的样式,但是DataGridRowStyle1和其他表头,column等样式,并未使用样式文件中修改的样式。

请问应该怎么管理样式能使在修改表头,column,row等样式后并设置给DataGridEx???

覆盖默认样式:
 

C# code
public class DataGridEx : DataGrid {        public DataGridEx(): base(){            if (!System.ComponentModel.DesignerProperties.GetIsInDesignMode(this)){               this.DefaultStyleKey = typeof(DataGridEx);            }        }    }

样式文件定义:
XML code
<ResourceDictionary    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"    xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"    xmlns:slControlsGv="clr-namespace:SLControls.GridView;assembly=SLControls">   <!--DataGrid样式--><Style x:Key="DataGridStyle1" TargetType="slControlsGv:DataGridEx"><Setter Property="RowBackground" Value="#AAEAEFF4"/>。。。。。。。。。。。。。</Style><!--DataGridRow样式--><Style x:Key="DataGridRowStyle1" TargetType="sdk:DataGridRow"><Setter Property="IsTabStop" Value="False"/>。。。。。。。。。。。。。</Style><!--其他表头,column等样式-->。。。。。</ResourceDictionary>


[解决办法]
是需要自定义这样的效果么?


请参考:http://www.silverlightchina.net/html/developer/silverlight/2009/0910/173.html
[解决办法]
貌似datagrid用xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"
引用的是不能修改的吧。
用这个引用试试:xmlns:Primitives="clr-namespace:System.Windows.Controls.Primitives;assembly=System.Windows.Controls.Data"
xmlns:Controls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"
如:
<!--DataGridRow样式-->
<Style x:Key="DataGridRowStyle1" TargetType="Controls:DataGridRow">
<Setter Property="IsTabStop" Value="False"/>
。。。。。。。。。。。。。
</Style>

<sdk:DataGrid.Columns>
<sdk:DataGridTemplateColumn Width="120">
<sdk:DataGridTemplateColumn.HeaderStyle>
<Style TargetType="Primitives:DataGridColumnHeader">
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="MinHeight" Value="40"/>
。。。。。

//您试试。。。

热点排行