2015-07-13 2 views
0

. Я даю эту ошибку. «Имя ScaleTransform» не может быть найдено в области имен «System.Windows.Controls.ListView» »«. когда ScaleTransform в другом триггере, но я установил его в Image.Triggers, он работает нормально?Имя «ScaleTransform» не может быть найдено в области имен «System.Windows.Controls.ListView»

 <ListView.ItemTemplate> 
          <DataTemplate> 
           <DockPanel> 
            <TextBlock DockPanel.Dock="Bottom" Text="{Binding Name}"/> 
            <Image x:Name="Img" Source="{Binding Source}" Height="128" Width="128" Focusable="True"> 
             <Image.RenderTransform> 
              <ScaleTransform x:Name="MyAnimatedScaleTransform" CenterX="25" CenterY="25" ScaleX="1" ScaleY="1" /> 
             </Image.RenderTransform> 
            </Image> 
           </DockPanel> 
          </DataTemplate> 
         </ListView.ItemTemplate> 
         <ListView.Triggers> 
          <EventTrigger RoutedEvent="ListView.SelectionChanged"> 
           <BeginStoryboard Name="myBeginStoryboard"> 
            <Storyboard> 
             <DoubleAnimation Storyboard.TargetName="MyAnimatedScaleTransform" Storyboard.TargetProperty="(ScaleTransform.ScaleX)" To="1.5" Duration="0:0:0.25" AutoReverse="True" /> 
             <DoubleAnimation Storyboard.TargetName="MyAnimatedScaleTransform" Storyboard.TargetProperty="(ScaleTransform.ScaleY)" To="1.5" Duration="0:0:0.25" AutoReverse="True"/> 
            </Storyboard> 
           </BeginStoryboard> 
          </EventTrigger> 
         </ListView.Triggers> 
        </ListView> 

и я стараюсь это, но и не работает:

<ListView.ItemTemplate> 
          <DataTemplate> 
           <DockPanel> 
            <TextBlock DockPanel.Dock="Bottom" Text="{Binding Name}"/> 
            <Image x:Name="Img" Source="{Binding Source}" Height="128" Width="128" Focusable="True"> 
             <Image.RenderTransform> 
              <ScaleTransform x:Name="MyAnimatedScaleTransform" CenterX="25" CenterY="25" ScaleX="1" ScaleY="1" /> 
             </Image.RenderTransform> 
            </Image> 
           </DockPanel> 
          </DataTemplate> 
         </ListView.ItemTemplate> 
         <ListView.Triggers> 
          <EventTrigger RoutedEvent="ListView.SelectionChanged"> 
           <BeginStoryboard Name="myBeginStoryboard"> 
            <Storyboard> 
             <DoubleAnimation Storyboard.Target="{Binding MyAnimatedScaleTransform}" Storyboard.TargetProperty="(ScaleTransform.ScaleX)" To="1.5" Duration="0:0:0.25" AutoReverse="True" /> 
             <DoubleAnimation Storyboard.Target="{Binding MyAnimatedScaleTransform}" Storyboard.TargetProperty="(ScaleTransform.ScaleY)" To="1.5" Duration="0:0:0.25" AutoReverse="True"/> 
            </Storyboard> 
           </BeginStoryboard> 
          </EventTrigger> 
         </ListView.Triggers> 
        </ListView> 

ответ

0

Я считаю, что контроллеры в DataTemplate не могут быть доступны, так что я изменить треска Xaml на:

<ListView.ItemTemplate> 
         <DataTemplate> 
          <DockPanel> 
           <TextBlock DockPanel.Dock="Bottom" Text="{Binding Name}"/> 
           <Image x:Name="Img" Source="{Binding Source}" Height="128" Width="128" Focusable="True"> 
            <Image.RenderTransform> 
             <ScaleTransform x:Name="MyAnimatedScaleTransform" CenterX="25" CenterY="25" ScaleX="1" ScaleY="1" /> 
            </Image.RenderTransform> 
            <Image.Triggers> 
             <EventTrigger RoutedEvent="Image.MouseDown"> 
              <BeginStoryboard Name="myBeginStoryboard"> 
               <Storyboard> 
                <DoubleAnimation Storyboard.TargetName="MyAnimatedScaleTransform" Storyboard.TargetProperty="(ScaleTransform.ScaleX)" To="1.5" Duration="0:0:0.25" AutoReverse="True" /> 
                <DoubleAnimation Storyboard.TargetName="MyAnimatedScaleTransform" Storyboard.TargetProperty="(ScaleTransform.ScaleY)" To="1.5" Duration="0:0:0.25" AutoReverse="True"/> 
               </Storyboard> 
              </BeginStoryboard> 
             </EventTrigger> 
            </Image.Triggers> 
           </Image> 
          </DockPanel> 
         </DataTemplate> 
        </ListView.ItemTemplate> 

Теперь я были возвращены к моей основной проблеме, когда я нажимаю второй раз на изображении до того, как первая анимация закончится (обратная), изображение не вернется к исходному размеру.

+0

должен исправить вашу проблему –

Смежные вопросы