[英]Enlarge an image on mouseover in Popup in WPF
大家好,我通过不同的解决方案浏览了其中一些论坛帖子,但似乎无法理解。 我的风格
<Style x:Key="ScaleStyle" TargetType="Image">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Grid.ZIndex" Value="1"/>
<Setter Property="RenderTransform">
<Setter.Value>
<ScaleTransform ScaleX="2.5" ScaleY="2.5"/>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
我的带有图像的UniformGrid:
<ListView Grid.ColumnSpan="5" Grid.Row="11" Name="Thumbnails">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="5"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.ItemTemplate>
<DataTemplate>
<Image Style="{StaticResource ScaleStyle}" RenderTransformOrigin="0.5,0.5" Source="{Binding}" Height="100" Width="100" Margin="3">
</Image>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
发生的情况是图像变大了,但是在均匀的网格内,这使其与其他图像重叠并且看起来不太好。
另一方面,我尝试使用工具提示弹出窗口,它将打开一个新的弹出窗口,但其中的图像将是图像角的巨大缩放。
<Image Name="Image" Source="/WpfApplication1;component/Images/Tulips.jpg" Height="100"
Stretch="Uniform">
<Image.ToolTip>
<ToolTip DataContext="{Binding PlacementTarget,
RelativeSource={RelativeSource Self}}">
<Border BorderBrush="Black" BorderThickness="1" Margin="5,7,5,5">
<Image Source="{Binding Source}" Stretch="None" />
</Border>
</ToolTip>
</Image.ToolTip>
问题可能是原始图像非常大,我在“统一网格”中将宽度和高度设置为100,这使它们看起来像缩略图,但是工具提示似乎引用了原始宽度和高度,并从一个角开始直到适合为止工具提示弹出窗口的宽度和高度,最终仅显示原始超大图片的一小部分。
任何帮助将不胜感激。
设置要fill
的图像的“ Stretch
属性将使图像的大小调整为容器的大小。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.