wpf Изменение размера изображения при наведении мыши - PullRequest
0 голосов
/ 22 апреля 2011

Я нашел отличный пример того, как это сделать в xaml, но мне интересно, может ли кто-нибудь помочь мне с этим примером в коде. Я перебираю изображения и создаю Image Control в коде, и я хотел бы настроить что-то похожее на то, что я нашел в этой ссылке ниже, так что я могу изменить размер изображения при наведении мыши.

Учитывая элемент управления WPF Image, как я могу увеличить его с помощью анимации в MouseEnter?

1 Ответ

1 голос
/ 22 апреля 2011

Я предлагаю вам использовать Шаблон данных вместо "циклического перебора изображений", чтобы вы могли полностью использовать этот 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>

Он получает URL-адреса изображений из сети, но вы можете просто привязать к ObservableCollection<string>, который содержит пути к изображениям.

...