Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在WPF的弹出窗口中放大鼠标上方的图像_C#_Wpf_Image_Visual Studio 2012 - Fatal编程技术网

C# 在WPF的弹出窗口中放大鼠标上方的图像

C# 在WPF的弹出窗口中放大鼠标上方的图像,c#,wpf,image,visual-studio-2012,C#,Wpf,Image,Visual Studio 2012,嗨,大家好,我已经用不同的解决方案浏览了几个论坛帖子,但似乎没有找到答案。我的风格 <Style x:Key="ScaleStyle" TargetType="Image"> <Style.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="

嗨,大家好,我已经用不同的解决方案浏览了几个论坛帖子,但似乎没有找到答案。我的风格

<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,使它们看起来像缩略图,但工具提示似乎参考了原始的宽度和高度,从一个角开始,直到它适合工具提示弹出窗口的宽度和高度,最后只显示了一小部分原始的非常大的图片


任何帮助都将不胜感激。

将图像的
拉伸
属性设置为
填充
将使图像的大小调整为容器的大小。

将图像的
拉伸
属性设置为
填充
,这将根据容器调整图像的大小。至于放大图像,你应该尝试为你的图像创建一个命名的样式,并使用一个触发器在鼠标上方放大它们。我有一个使用故事板的命名梯架,但当我设置样式时,图像不会在单独的容器中增长,它们不会出现在弹出窗口中,它们在uniformgrid内部生长,并最终重叠。介意将您的命名样式也放在问题中吗?我不认为我能帮得更多,但它能帮助其他人更快地回答你的问题。你实际上帮了很多忙。这是我在原始图像上设置的拉伸属性,而不是工具提示图像,就像我是个白痴一样,什么都没有发生。但当我将其设置为工具提示图像时,它起了作用。现在的问题是,我不喜欢这个解决方案,我宁愿使用一种风格,但如果你把你的评论设为问题,我会把它设为答案。