2010-08-09 18 views
0

我試圖構建一個網格項目,所有動態(行和列)生成。我有一個listview和gridview。我得到所有的列,並將它們添加到gridview。然後我將所有行添加到表中,並將其綁定到列表視圖。在WPF中的一個控件(網格視圖標題)中使用多個LayoutTransforms

我正在使用類似的東西來旋轉視圖頂部的標題名稱。

    <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> 

這工作正常,它旋轉文本,並使列現在正確的大小。

但是我想要做的是,它將第一列設置爲不旋轉。我不確定,也無法將其應用於我想要的列。

回答

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(); 
+0

這個工作究竟是我想要的。非常感謝。 – jmlumpkin 2010-08-10 12:56:16

相關問題