我正在尝试构建一个项目网格,所有项目都是动态(行和列)生成的。我有一个listview和gridview。我获取所有列,并将它们添加到gridview。然后我将所有行添加到表中,并将其绑定到listview。
我正在使用类似的东西来旋转视图顶部的标题名称。
<ListView Name="lvEverything">
<ListView.Resources>
<Style TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="LayoutTransform">
<Setter.Value>
<RotateTransform Angle="-90"/>
</Setter.Value>
</Setter>
<Setter Property="Width" Value="250"></Setter>
</Style>
</ListView.Resources>
这很好用,它会旋转文本并使列现在正确。
我想做的是,它将第一列设置为NOT旋转。我不确定,也不能只将它应用于我想要的列。
答案 0 :(得分:0)
明确地在第一列上设置HeaderContainerStyle,以便它不会回退到使用隐式列:
<ListView Name="lvEverything">
<ListView.Resources>
<Style TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="LayoutTransform">
<Setter.Value>
<RotateTransform Angle="-90"/>
</Setter.Value>
</Setter>
<Setter Property="Width" Value="250"></Setter>
</Style>
<Style x:Key="FirstColumnStyle" TargetType="GridViewColumnHeader"/>
</ListView.Resources>
<ListView.View>
<GridView>
<GridViewColumn Header="First Column"
DisplayMemberBinding="{Binding FirstColumn}"
HeaderContainerStyle="{StaticResource FirstColumnStyle}"/>
<GridViewColumn Header="Second Column"
DisplayMemberBinding="{Binding SecondColumn}"/>
</GridView>
</ListView.View>
</ListView>
或者,如果您要在代码中创建列:
GridViewColumn firstColumn = ...;
firstColumn.HeaderContainerStyle = new Style();