4

我想更改 GridView 的高度,在 XAML 中我使用以下代码:

<Window.Resources>

        <Style x:Key="myHeaderStyle" TargetType="{x:Type GridViewColumnHeader}">
            <Setter Property="Height" Value="45"></Setter>
        </Style>

    </Window.Resources>


    <ListView x:Name="LView">
        <ListView.View>
            <GridView x:Name="GView" ColumnHeaderContainerStyle="{StaticResource myHeaderStyle}"></GridView>
        </ListView.View>
    </ListView>

但是如果我想动态地做到这一点?我试过:

Style style = new Style();
            style.TargetType = typeof(GridViewColumnHeader);
            style.Setters.Add(new Setter(GridViewColumnHeader.HeightProperty, 155));

            GView.ColumnHeaderContainerStyle = style;

但我有一个 ArgumentException(值 155 不是有效值)。为什么?我怎么解决这个问题?谢谢。

4

1 回答 1

4

FrameworkElement.Height需要一个双精度值,因此您需要将 155 作为双精度值传递:

style.Setters
    .Add(new Setter(GridViewColumnHeader.HeightProperty, 155d));

或者

style.Setters
    .Add(new Setter(GridViewColumnHeader.HeightProperty, 155.0));
于 2012-09-22T17:20:40.807 回答