Использование нескольких LayoutTransforms в одном элементе управления (заголовок вида сетки) в WPF - PullRequest
0 голосов
/ 10 августа 2010

Я пытаюсь построить сетку элементов, все динамически (строки и столбцы) генерируются.У меня есть список и сетка.Я получаю все столбцы и добавляю их в сетку.Затем я добавляю все свои строки в таблицу и привязываю их к списку.

Я использую что-то похожее для поворота имен заголовков в верхней части представления.

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

Это отлично работает, вращает текст и делает столбцы нужного размера на данный момент.

Что я хотел бы сделать, так это установить в первом столбце значение НЕ вращаться.Я не уверен и не могу заставить его применить это только к тем столбцам, к которым я хочу.

1 Ответ

0 голосов
/ 10 августа 2010

Установите 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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...