C# Silverlight DataGrid标头以编程方式旋转转换
如何在Silverlight上使用代码隐藏中的旋转变换来旋转DataGrid中的变换头文本? 我没有概念,但当我尝试使用此代码时,它不起作用C# Silverlight DataGrid标头以编程方式旋转转换,c#,silverlight,datagrid,rotation,transform,C#,Silverlight,Datagrid,Rotation,Transform,如何在Silverlight上使用代码隐藏中的旋转变换来旋转DataGrid中的变换头文本? 我没有概念,但当我尝试使用此代码时,它不起作用 private DataGridTemplateColumn CreateColumn(int index, string header) { string cellTemp = string.Format(@"<DataTemplate xmlns=""http://schemas.microsoft.com/win
private DataGridTemplateColumn CreateColumn(int index, string header)
{
string cellTemp = string.Format(@"<DataTemplate xmlns=""http://schemas.microsoft.com/winfx/2006/xaml/presentation""
xmlns:x=""http://schemas.microsoft.com/winfx/2006/xaml"">
<CheckBox />
</DataTemplate>", index);
DataGridTemplateColumn column = new DataGridTemplateColumn();
column.Header = header;
column.CellTemplate = (DataTemplate)XamlReader.Load(cellTemp);
TransformGroup traGrp = new TransformGroup(){};
traGrp.Children.Add(new RotateTransform(){ Angle = -35});
Style transofrm = new Style(typeof(DataGridTemplateColumn));
transofrm.Setters.Add(new Setter(TextBlock.RenderTransformProperty, traGrp));
column.HeaderStyle = transofrm;
return column;
}
private DataGridTemplateColumn CreateColumn(int索引,字符串头)
{
string cellTemp=string.Format(@)
“,索引);
DataGridTemplateColumn=新DataGridTemplateColumn();
column.Header=标题;
column.CellTemplate=(DataTemplate)XamlReader.Load(cellTemp);
TransformGroup traGrp=新TransformGroup(){};
traGrp.Children.Add(新的RotateTransform(){Angle=-35});
Style transofrm=新样式(typeof(DataGridTemplateColumn));
添加(新的Setter(TextBlock.renderTransferormProperty,traGrp));
column.HeaderStyle=transofrm;
返回列;
}
有什么想法吗?好的,给你
将此资源添加到用户控件
<UserControl.Resources>
<Style TargetType="sdk:DataGridColumnHeader">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="sdk:DataGridColumnHeader">
<Canvas x:Name="RootElement" Height="60" HorizontalAlignment="Stretch">
<ContentPresenter Canvas.Left="15" Canvas.Top="50" Content="{TemplateBinding Content}">
<ContentPresenter.RenderTransform>
<RotateTransform Angle="-90"/>
</ContentPresenter.RenderTransform>
</ContentPresenter>
</Canvas>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
在codebehind.cs中,您可以这样做
private DataGridTemplateColumn CreateColumn(int index, string header)
{
string cellTemp = string.Format(@"<DataTemplate xmlns=""http://schemas.microsoft.com/winfx/2006/xaml/presentation""
xmlns:x=""http://schemas.microsoft.com/winfx/2006/xaml"">
<CheckBox />
</DataTemplate>", index);
DataGridTemplateColumn column = new DataGridTemplateColumn();
column.Header = header;
column.HeaderStyle = Resources["Template"] as Style;
column.CellTemplate = (DataTemplate)XamlReader.Load(cellTemp);
return column;
}
private DataGridTemplateColumn CreateColumn(int索引,字符串头)
{
string cellTemp=string.Format(@)
“,索引);
DataGridTemplateColumn=新DataGridTemplateColumn();
column.Header=标题;
column.HeaderStyle=资源[“模板”]作为样式;
column.CellTemplate=(DataTemplate)XamlReader.Load(cellTemp);
返回列;
}
要垂直放置文本吗?是的,但我不知道如何放置。在xaml中,很少有关于如何创建的示例,但在C#no;(有人来帮我吗?如果对你有帮助的话,请记下答案!