Giacomo Tagliabue
Giacomo Tagliabue

Reputation: 1759

ListView resizes without respecting the columndefinitions

I have this very simple XAML window:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition/>
        <RowDefinition/>
    </Grid.RowDefinitions>
    <ContentControl Content="{Binding Path=Item}"  ContentTemplate="{StaticResource aaaa}" Grid.Row="1"/>
    <ListView   ItemsSource="{Binding Path=ItemList}" ItemTemplate="{StaticResource aaaa}" HorizontalContentAlignment="Stretch"/>
</Grid>

where the ContentControl and the ListView have the same template:

<DataTemplate DataType="{x:Type src:ItemType}" x:Key="aaaa">
        <Grid ShowGridLines="True" Height="30">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="Auto" />
            </Grid.ColumnDefinitions>
            <TextBlock  Name="resizinglabel" Text="this is a very long text that has to be trimmed"  />
            <TextBlock Name="fixedLabel" Text="always to the left" Grid.Column="1" Background="Red" />
        </Grid>
    </DataTemplate>

But when I resize the window the listview seems to have a weird behaviour:

Before the critical point of resizing: before

After The critical point of resizing: after

in a few words i want the right label to be always visible on the right. I tried also with the isSharedSizeScope property but id doesn't works... So the question is: what I have to do to make the listview behaving like the content control?

Thanks in advance!

Upvotes: 1

Views: 142

Answers (1)

Rachel
Rachel

Reputation: 132548

ListViews will automatically add ScrollBars if their content is too large to fit on the screen. Disable the Horizontal ScrollBar and it should work.

<ListView ScrollViewer.HorizontalScrollBarVisibility="Disabled" />

Upvotes: 3

Related Questions