Как программно изменить высоту строки для выбранной строки в wpf DataGrid? - PullRequest
2 голосов
/ 13 июня 2011
DependencyObject dep = (DependencyObject)e.OriginalSource;

while ((dep != null) && !(dep is DataGridRow))
{
    dep = VisualTreeHelper.GetParent(dep);
}

if (dep != null && dep is DataGridRow)
{
    DataGridRow row = (DataGridRow)dep;

    row.Height = 35;
}

с этим кодом выбранная высота строки изменилась, но высота содержимого строки не изменилась.

1 Ответ

3 голосов
/ 13 июня 2011

Вы также можете сделать это со стилем,

<Style x:Key="PrettierDataGridStyle" TargetType="dg:DataGrid">
        <Setter Property="CellStyle">
            <Setter.Value>
                <Style TargetType="dg:DataGridCell">
                    <Style.Triggers>
                        <!-- Highlight selected rows -->
                        <Trigger Property="IsSelected" Value="True">
                            <Setter Property="height" Value="35"></Setter>
                        </Trigger>
                    </Style.Triggers>
                </Style>
            </Setter.Value>
        </Setter>
    </Style>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...