WPF - проблема с шириной столбца в представлении списка - PullRequest
3 голосов
/ 16 декабря 2009

Ниже дано xaml с использованием .Net3.5 -

<ListView Name="RawData" AlternationCount="2" ItemsSource="{Binding}"
          ScrollViewer.VerticalScrollBarVisibility="Visible" Grid.Row="1"
          Grid.ColumnSpan="4"
          IsSynchronizedWithCurrentItem="True"
          sorter:GridViewSort.AutoSort="True"
          sorter:GridViewSort.ShowSortGlyph="False" >
    <ListView.ItemContainerStyle>
        <Style TargetType="ListViewItem">
            <Setter Property="HorizontalContentAlignment" Value="Center" />
            <Style.Triggers>
                <Trigger Property="ItemsControl.AlternationIndex" Value="1">
                    <Setter Property="Background" Value="LightGray"></Setter>
                </Trigger>
            </Style.Triggers>
        </Style>
    </ListView.ItemContainerStyle>
    <ListView.View>
        <GridView>
            <GridViewColumn Header="Date" DisplayMemberBinding="{Binding Path=GetDate}"
                            Width="Auto" sorter:GridViewSort.PropertyName="GetDateTime"/>
            <GridViewColumn Header="Time" DisplayMemberBinding="{Binding Path=GetTime}"
                            Width="Auto" sorter:GridViewSort.PropertyName="GetDateTime"/>
            <GridViewColumn Header="Scan Time" DisplayMemberBinding="{Binding Path=ScanTimeSec}"
                            sorter:GridViewSort.PropertyName="ScanTimeSecond"  Width="Auto"/>
            <GridViewColumn Header="Ping Time" DisplayMemberBinding="{Binding Path=PingTimeSec}"
                            sorter:GridViewSort.PropertyName="PingTimeSec"  Width="Auto" />
            <GridViewColumn Header="Fault Messages"
                            DisplayMemberBinding="{Binding Path=ErrorMessages}"
                            sorter:GridViewSort.PropertyName="ErrorMessages" Width="Auto"/>
        </GridView>
    </ListView.View>
</ListView>

Моя проблема с первым и последним столбцами. Они не меняют размеры автоматически, чтобы соответствовать содержимому данных. Я мог бы использовать фиксированную ширину, но это вызовет проблемы позже в проекте, когда я позволю пользователям регулировать размер шрифта.

Кажется, что каждое решение, которое я нашел, это установить width = "auto", и WPF сделает это за вас. Однако этого не происходит. Так что, как новичок в WPF, я не уверен, что делать.

1 Ответ

0 голосов
/ 19 февраля 2011

удалите автоматическое свойство для Width. Вы можете вручную установить width.Like Width = "100". Я выбрал точно так же, как эту проблему и решить, вручную введите ширину.

...