Подтвердить что ты не робот

Ширина списка ListView.GridViewColumn(*)

Я использую ListView вместо DataGrid в моем приложении WPF. Я хочу предоставить ширину * для моего ListView.GridViewColumn, но всякий раз, когда я предоставляю ширину * до ListView.GridViewColumn, она дает мне ошибку времени компиляции. Просьба предложить мне, как я могу предоставить ширину * до ListView.GridViewColumn, так что ListView.GridViewColumn может автоматически заполнять дополнительное пространство, когда я максимизирую экран.

Любая помощь по этому поводу будет высоко оценена. Благодаря

4b9b3361

Ответ 1

Попробуйте это решение:

<ListView>
    <ListView.View>
        <GridView>
            <GridViewColumn Header="column1" x:Name="col1"/>
            <!--Column that shall resize: Width is set to the Actual Width of the helper field defined below-->
            <GridViewColumn Header="column2" 
                            Width="{Binding ElementName=helperField, Path=ActualWidth}"/>
        </GridView>
    </ListView.View>
    Test Text
</ListView>

<!--This is the hidden helper Grid which does the resizing -->
<Grid Visibility="Hidden">
    <Grid.ColumnDefinitions>
        <!--Width is bound to width of the first GridViewColumn -->
        <ColumnDefinition Width="{Binding ElementName=col1, Path=ActualWidth}"/>
        <!--Width is set to "Fill"-->
        <ColumnDefinition Width="*"/>
        <!--Correction Width-->
        <ColumnDefinition Width="10"/>
    </Grid.ColumnDefinitions>
    <!--This is the hidden helper Field which is used to bind to, using the "Fill" column of the helper grid-->
    <Grid Grid.Column="1" x:Name="helperField"/>
</Grid>

Вы также можете найти другое решение по следующей ссылке:

http://social.msdn.microsoft.com/forums/en-US/wpf/thread/3ee5696c-4f26-4e30-8891-0e2f95d69623/

Ответ 2

Я разместил свой подход к этому здесь, который немного отличается (но нашел, что он очень надежный и позволяет столбцы ширины столбца fooobar.com/questions/169433/...), поскольку я попробовал выше и находил мою обработку devenv.exe максимальной, поскольку она постоянно пыталась переоценить мой дизайнерский вид с указанными выше динамическими привязками.