當按鈕「顯示詳細信息」/「隱藏詳細信息」被點擊後,當再次點擊該按鈕時回到其初始值,我試圖在高度上切換動畫。在觸發器上觸發大小動畫
我有一個DataControls:用的DataForm預定義的風格,開始時,我想在單擊按鈕時「高度」 - 屬性動畫到一個較大的值。
DataControl:Dataform看起來像這樣。
<DataControls:DataForm x:Name="DataEdit"
Grid.Row="1"
ItemsSource="{Binding}"
Style="{DynamicResource CommonDataFormStyle}"
ContentLoaded="OnContentLoaded"
Height="150">
按鈕本身就是這樣的DataForm內部。
<DataControls:DataForm.ReadOnlyTemplate>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>...
<StackPanel Grid.Column="0" Grid.Row="0">
<Button Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl} }, Path=DataContext.ToggleDetailsCommand, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" x:Name="ToggleDetailsButton"
Content="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl} }, Path=DataContext.ToggleDetailsButtonText}"/>
...
我只得到了這個由usina一個名爲「顯示詳細信息」標籤和一個EventTrigger爲RoutedEvent =「Label.MouseLeftButtonDown」工作的一個標籤上展開細節。 然後有另一個名爲「隱藏詳細信息」的標籤再次將動畫歸檔。
我有阿爾斯托試圖把這種風格的按鈕和數據觸發器試圖切換動畫。但是,不管StoryBoard.Target =「{Binding ElementName = DataEdit}」屬性如何,該按鈕的高度都是動畫效果。
<Style TargetType="{x:Type Button}" x:Key="ExpandDetailsStyle" >
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl} }, Path=DataContext.IsOpened}" Value="true">
<DataTrigger.EnterActions>
<StopStoryboard BeginStoryboardName="EndAnimation" />
<BeginStoryboard Name="NewAnimation">
<Storyboard>
<DoubleAnimation Storyboard.Target="{Binding ElementName=DataEdit}" Storyboard.TargetProperty="Height" From="150" To="300" Duration="0:0:0.1" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
</DataTrigger.ExitActions>
</DataTrigger>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl} }, Path=DataContext.IsOpened}" Value="false">
<DataTrigger.EnterActions>
<StopStoryboard BeginStoryboardName="NewAnimation" />
<BeginStoryboard Name="EndAnimation">
<Storyboard>
<DoubleAnimation Storyboard.Target="{Binding ElementName=DataEdit}" Storyboard.TargetProperty="Height" From="300" To="150" Duration="0:0:0.1" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
另外我對WPF來說還是比較新的,所以如果我在這裏留下了一些東西,請原諒我。 林不能因爲它已經使用了共同的風格,換上新的自定義樣式的數據形,它wouldnt讓我用「支持算法FMP」屬性要麼。
我得到的最接近是按鈕高度的動畫,如果我只能得到它,而不是動畫數據形height屬性。
在此先感謝