Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ListView.GridViewColumn (*) width

I am using ListView control instead of DataGrid in my WPF application. I want to give * width to my ListView.GridViewColumn, but whenever I am providing * width to ListView.GridViewColumn, it gives me a compile time error. Kindly suggest me how can I provide * width to ListView.GridViewColumn, so that ListView.GridViewColumn can automatically fill extra space when I maximize screen.

Any help on this will highly appreciated. Thanks

like image 449
Yogesh Avatar asked Apr 25 '12 04:04

Yogesh


2 Answers

Please try that solution:

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

You could also find some other solution at the following link:

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

like image 181
Bilal Hashmi Avatar answered Nov 03 '22 00:11

Bilal Hashmi


I posted my approach to this here which is a little different (but found it to be very reliable and allows percentage width columns https://stackoverflow.com/a/10526024/41211) as I tried the above and was finding my devenv.exe processing maxing out as it was constantly trying to re-evaluate my designer view with the above dynamic bindings.

like image 41
GONeale Avatar answered Nov 03 '22 00:11

GONeale