Changing a WPF Event Trigger Another UI Element

I defined ListBoxin my XAML which uses ItemTemplate. Inside ItemTemplateI posted an image.

<ListBox.ItemTemplate>
<ListBox.ItemsPanel>
 <ItemsPanelTemplate>
  <WrapPanel x:Name="itmTempPanel" IsItemsHost="True" ItemWidth="60" ItemHeight="60" Width="{Binding ElementName=lstFilesDropped, Path=Width}"/>
 </ItemsPanelTemplate>
</ListBox.ItemsPanel>
...
<Image>
 <Image.Triggers>
  <EventTrigger RoutedEvent="MouseEnter">
   <BeginStoryboard>
    <Storyboard>
     <DoubleAnimation Storyboard.TargetProperty="Height" To="71" Duration="0:0:0.3" />
     <DoubleAnimation Storyboard.TargetName="itmTempPanel" Storyboard.TargetProperty="Height" To="71"      Duration="0:0:0.3" />
    </Storyboard>
   </BeginStoryboard>
  </EventTrigger>
 </Image.Triggers>
</Image>
</ListBox.ItemTemplate>

When the mouse enters the image, I want to start the storyboard at that height of the image and at WrapPanelthat I defined inside ItemsPanelTemplate.

When a mouse is inserted into this image, I received the following exception: The name 'itmTempPanel' cannot be found in the namespace 'System.Windows.Controls.Image'. "

How can I change another property of an element from an element starting a storyboard.

Thank you for your help!

+4
1

. {x:Reference} .NET 4.0 WPF. , .NET 4.0. Storyboard.Target , ( WrapPanel). Binding Storyboard.Target, RelativeSource ElementName, , Storyboard ( ) FrameworkElement ( FrameworkContentElement). - Source. StaticResource DynamicResource ( ). , {x:Reference} .NET 4.0, XAML (, , ElementName). :

<DoubleAnimation Storyboard.Target="{Binding Source={x:Reference itmTempPanel}}" 
                 Storyboard.TargetProperty="Height" 
                 To="71" Duration="0:0:0.3" />    

DataTrigger. Image, WrapPanel. ElementName Image. , , {x:Reference} .

<WrapPanel x:Name="itmTempPanel" IsItemsHost="True" ItemWidth="60" ItemHeight="60" 
           Width="{Binding ElementName=lstFilesDropped, Path=Width}">
  <WrapPanel.Style>
     <Style TargetType="WrapPanel">
        <Style.Triggers>
           <DataTrigger Binding="{Binding IsMouseOver,ElementName=image}" 
                        Value="True">
               <DataTrigger.EnterActions>
                 <BeginStoryboard>
                   <Storyboard>
                     <DoubleAnimation Storyboard.TargetProperty="Height" 
                                      To="71"  Duration="0:0:0.3" />
                   </Storyboard>
                 </BeginStoryboard>
               </DataTrigger.EnterActions>
           </DataTrigger>
        </Style.Triggers>
     </Style>
  </WrapPanel.Style>
</WrapPanel>

<Image Name="image">
  <Image.Triggers>
    <EventTrigger RoutedEvent="MouseEnter">
      <BeginStoryboard>
        <Storyboard>
           <DoubleAnimation Storyboard.TargetProperty="Height" To="71"
                            Duration="0:0:0.3" />     
        </Storyboard>
      </BeginStoryboard>
    </EventTrigger>
  </Image.Triggers>
</Image>

, Image (, Image). <DoubleAnimation> WrapPanel . EventTrigger DataTrigger IsMouseOver. DataTrigger.ExitActions, , IsMouseOver ( MouseLeave).

+5

All Articles