[英]Resizing issue with ListItem in WPF ListBox during resizing
我正在嘗試使用WPF中的listBox呈現UI的活動供稿類型。 listBox完美呈現,並在調整窗口大小時自動調整大小。 但是,內部項目並未包裝其內容。 因此,我將內部Grid的寬度設置為listBox的ActualWidth。 這是我的XAML和一些屏幕截圖,用於解釋我要達到的目標。
<Grid x:Class="MyAddin.WPFControls"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:c="clr-namespace:MyAddin"
mc:Ignorable="d" Background="Transparent"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ShowGridLines="False" d:DesignHeight="221" d:DesignWidth="275">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock HorizontalAlignment="Stretch"
IsManipulationEnabled="True" Grid.Row="0"
Height="20" Grid.ColumnSpan="5" TextAlignment="Right" Padding="0,0,5,0" Margin="0,5,0,0" FontSize="14" FontStyle="Normal" FontWeight="ExtraLight">Activity Feed</TextBlock>
<ListBox Grid.Row="1" Name="listBox1" IsSynchronizedWithCurrentItem="True"
ScrollViewer.HorizontalScrollBarVisibility="Hidden"
VerticalContentAlignment="Stretch" ItemContainerStyle="{StaticResource ContainerStyle}"
AlternationCount="2" HorizontalContentAlignment="Stretch">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid MaxWidth="{Binding ElementName=listBox1, Path=ActualWidth}" Height="40">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="34"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Border Grid.Column="0">
<Image Source="{Binding Path=AvatarURL}" Stretch="Fill" Width="32" Height="32" />
</Border>
<StackPanel Grid.Column="1">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Path=FirstName }" TextBlock.FontWeight="Bold"
HorizontalAlignment="Left" />
<TextBlock><Bold> - </Bold></TextBlock>
<TextBlock Text="{Binding Path=TS}" TextWrapping="Wrap"
TextTrimming="WordEllipsis" FontSize="9" Margin="0,2,0,0" FontWeight="ExtraLight" />
</StackPanel>
<TextBlock Text="{Binding Path=Comment}" TextWrapping="Wrap"
TextTrimming="CharacterEllipsis" HorizontalAlignment="Stretch"
VerticalAlignment="Top" Padding="0,0,5,0"/>
</StackPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
並以圖像1的形式呈現。如果我調整窗口大小,列表框的內容將按預期包裝。 但是,當我調整窗口的大小時,布局已損壞,如圖3所示。在這里需要解決2個問題的幫助:
PS:我的應用程序是Outlook插件。
應禁用listBox上的ScrollViewer.HorizontalScrollBarVisibility屬性,而不是隱藏它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.