2011-04-22 8 views
0

xaml에서이 작업을 수행하는 방법에 대한 훌륭한 예제가 있습니다.하지만 코드에서이 예제를 사용하면 도움이 될지 궁금합니다. 이미지를 반복하고 코드에서 Image Control을 만들고 아래 링크에서 찾은 것과 비슷한 것을 설정하고 싶습니다. 따라서 마우스로 이미지의 크기를 조정할 수 있습니다.wpf 마우스 오버시 이미지 컨트롤 크기 조정

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

답변

1

내가 대신 "이미지를 통해 반복"의 Data-Templating를 사용하는 것이 좋습니다, 그런 식으로 완전히 XAML 있음을 다시 사용할 수 있습니다.


이미지 - DataTemplating을 전시 멋진 Kaxaml 샘플이 있습니다 :

<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>에 바인딩 할 수 있습니다.

+0

이미지 경로 배열을 반복하면서 비트 맵 이미지로 이미지를 열고 할당 할 이미지 컨트롤을 만듭니다. 이미지 목록 수가 항상 다릅니다. 데이터 템플릿을 사용하면이 작업을 수행 할 수 있습니까? – Terco

+0

올바른 컬렉션을 사용한다면 예. 이 경우에'ObservableCollection '을 사용해야한다. 바인드하고 새로운 이미지 경로가 추가되면 itemsControl은 올바르게 템플릿 화되면 새로운 이미지를 자동 생성한다. –

+0

확인. 나는 그 방향에 정말로 감사한다. – Terco