wpf图像控件在鼠标悬停时调整大小

时间:2011-04-22 16:08:44

标签: wpf image resize

我在这里找到了一个很好的例子,说明如何在xaml中执行此操作,但我想知道是否有人可以在代码中帮助我这个例子。我循环浏览图像并在代码中创建图像控件,我想设置类似于我在下面链接中找到的内容,因此我可以在鼠标悬停时调整图像大小。

Given a WPF Image control, how can I make it bigger through animation on MouseEnter?

1 个答案:

答案 0 :(得分:1)

我建议您使用Data-Templating而不是“循环浏览图片”,这样您就可以完全重用该XAML。


有一个很好的Kaxaml示例展示了Image-DataTemplating:

<Grid>
    <Grid.Resources>
       <XmlDataProvider x:Key="flickrdata" Source="http://api.flickr.com/services/feeds/photos_public.gne?tags=flower&amp;lang=en-us&amp;format=rss_200">
          <XmlDataProvider.XmlNamespaceManager>
             <XmlNamespaceMappingCollection>
                <XmlNamespaceMapping Prefix="media" Uri="http://search.yahoo.com/mrss/"/>
             </XmlNamespaceMappingCollection>
          </XmlDataProvider.XmlNamespaceManager>
       </XmlDataProvider>
       <DataTemplate x:Key="itemTemplate">
          <Image Width="75" Height="75" Source="{Binding Mode=OneWay, XPath=media:thumbnail/@url}"/>
       </DataTemplate>
       <ControlTemplate x:Key="controlTemplate" TargetType="{x:Type ItemsControl}">
          <WrapPanel IsItemsHost="True" Orientation="Horizontal"/>
       </ControlTemplate>
    </Grid.Resources>
    <ItemsControl
       Width="375"
       ItemsSource="{Binding Mode=Default, Source={StaticResource flickrdata}, XPath=/rss/channel/item}"
       ItemTemplate="{StaticResource itemTemplate}"
       Template="{StaticResource controlTemplate}">
    </ItemsControl>
</Grid>

这会从WEB获取图片网址,但您只能绑定到保存图片路径的ObservableCollection<string>