Hallo,
ich muss schon wieder nerven. Wieder an einer Kleinigkeit wahrscheinlich!
Das ist ein CodeSnipe in XAML:
Ich möchte einen "DATATRIGGER" einbauen, der wie der Trigger auf das Popup-Control reagiert, und anschließend eine Animation mit dem SubmenuBorder spielt:#
Das funktioniert aber nicht.. Wenn ich das Storyboard mit normalen Settern ersetzte geht es....
MfG
ich muss schon wieder nerven. Wieder an einer Kleinigkeit wahrscheinlich!
Das ist ein CodeSnipe in XAML:
Code:
<ControlTemplate x:Key="{x:Static MenuItem.SubmenuHeaderTemplateKey}" TargetType="{x:Type MenuItem}"> <Border Name="Border" > <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" SharedSizeGroup="Icon"/> <ColumnDefinition Width="*" /> <ColumnDefinition Width="Auto" SharedSizeGroup="Shortcut"/> <ColumnDefinition Width="13"/> </Grid.ColumnDefinitions> <ContentPresenter Name="Icon" Margin="6,0,6,0" VerticalAlignment="Center" ContentSource="Icon"/> <ContentPresenter Name="HeaderHost" Grid.Column="1" ContentSource="Header" RecognizesAccessKey="True"/> <TextBlock x:Name="InputGestureText" Grid.Column="2" Text="{TemplateBinding InputGestureText}" Margin="5,2,2,2" DockPanel.Dock="Right"/> <Path Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center" Data="M 0 0 L 0 7 L 4 3.5 Z" Fill="{StaticResource GlyphBrush}" /> <Popup Name="Popup" Placement="Right" HorizontalOffset="-4" IsOpen="{TemplateBinding IsSubmenuOpen}" AllowsTransparency="True" Focusable="False" PopupAnimation="Fade"> <Border Name="SubmenuBorder" SnapsToDevicePixels="True" Background="{StaticResource WindowBackgroundBrush}" BorderBrush="{StaticResource SolidBorderBrush}" BorderThickness="1" > <ScrollViewer CanContentScroll="True" Style="{StaticResource MenuScrollViewer}"> <StackPanel IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Cycle" /> </ScrollViewer> </Border> </Popup> </Grid> </Border> <ControlTemplate.Triggers> <Trigger Property="Icon" Value="{x:Null}"> <Setter TargetName="Icon" Property="Visibility" Value="Collapsed"/> </Trigger> <Trigger Property="IsHighlighted" Value="true"> <Setter TargetName="Border" Property="Background" Value="{StaticResource SelectedBackgroundBrush}"/> </Trigger> <Trigger SourceName="Popup" Property="Popup.AllowsTransparency" Value="True"> <Setter TargetName="SubmenuBorder" Property="CornerRadius" Value="4"/> <Setter TargetName="SubmenuBorder" Property="Padding" Value="0,3,0,3"/> </Trigger> <Trigger Property="IsEnabled" Value="false"> <Setter Property="Foreground" Value="{StaticResource DisabledForegroundBrush}"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate>
Ich möchte einen "DATATRIGGER" einbauen, der wie der Trigger auf das Popup-Control reagiert, und anschließend eine Animation mit dem SubmenuBorder spielt:#
Code:
<DataTrigger Binding="{Binding ElementName=Popup, Path=AllowsTransparency}" Value="True"> <!--<DataTrigger.EnterActions> <BeginStoryboard> <Storyboard> <ColorAnimation Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)" Storyboard.TargetName="SubmenuBorder" To="Red" Duration="0:0:2"/> </Storyboard> </BeginStoryboard> </DataTrigger.EnterActions>--> </DataTrigger>
MfG