C# 在列表框中显示图像,以便根据父容器调整图像大小
我有一个扩展器,里面有一个显示图像缩略图的列表框。我想根据列表框的大小调整图像的大小,并根据扩展器的宽度调整列表框的大小。当我展开扩展器时,我希望列表框和图像也能调整大小。有人知道我怎样才能做到这一点吗C# 在列表框中显示图像,以便根据父容器调整图像大小,c#,wpf,xaml,listbox,expander,C#,Wpf,Xaml,Listbox,Expander,我有一个扩展器,里面有一个显示图像缩略图的列表框。我想根据列表框的大小调整图像的大小,并根据扩展器的宽度调整列表框的大小。当我展开扩展器时,我希望列表框和图像也能调整大小。有人知道我怎样才能做到这一点吗 <Expander Style="{DynamicResource ExpanderStyle}" Name="pictureExpander" IsExpanded="True"
<Expander
Style="{DynamicResource ExpanderStyle}"
Name="pictureExpander"
IsExpanded="True"
ExpandDirection="Left"
Collapsed="pictureExpander_Collapsed"
Expanded="pictureExpander_Expanded"
Grid.Column="4">
<ListBox
Name="photoList"
ItemsSource="{Binding Source={StaticResource PhotoBin}}"
IsSynchronizedWithCurrentItem="True"
HorizontalAlignment="Stretch"
ScrollViewer.CanContentScroll="False">
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Yellow" />
</Style.Resources>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="BorderBrush" Value="Black"/>
<Setter Property="BorderThickness" Value="5"/>
</Trigger>
</Style.Triggers>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<Image
Source="{Binding FileLocation}"
Margin="0,5"
HorizontalAlignment="Stretch"
MouseLeftButtonDown="DragImage" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Expander>
通过在图像上使用“拉伸”属性:
<Image
Source="{Binding FileLocation}"
Margin="0,5"
MouseLeftButtonDown="DragImage"
Stretch="Uniform"
StretchDirection="Both"/>
您可以使用这些值来获得想要的效果:
通过在图像上使用“拉伸”属性:
<Image
Source="{Binding FileLocation}"
Margin="0,5"
MouseLeftButtonDown="DragImage"
Stretch="Uniform"
StretchDirection="Both"/>
您可以使用这些值来获得想要的效果:
当我操作扩展器时,我能够使其调整大小,但现在的问题是,当应用程序渲染图像时,图像将以其最大尺寸显示。我怎样才能让它最初有大约200像素的宽度呢?嗯。。。我不认为您可以同时强制调整大小和原始宽度。因为如果设置原始宽度,它将不再适应父对象的宽度。根据您想要达到的效果,您可能希望在图像和/或stretchDirection上使用maxWidth/minWidth,但我不确定您是否能够实现这一点。我在操作扩展器时能够使其调整大小,但现在的问题是,当应用程序渲染图像时,图像会以其全尺寸显示。我怎样才能让它最初有大约200像素的宽度呢?嗯。。。我不认为您可以同时强制调整大小和原始宽度。因为如果设置原始宽度,它将不再适应父对象的宽度。根据您想要实现的效果,您可能希望在图像和/或stretchDirection上使用maxWidth/minWidth,但我不确定您是否能够实现这一点。