2016-09-07 2 views
-1

私はブラシの色とテキストのプロパティを持つStatusBarオブジェクトを持っています。 このステータスバーは別のブール型プロパティを持っている - このプロパティをfalseに設定IsStatusCollapsedは、StatsBarが表示されます。ここではWPF MVVM StatusBar Anim

private bool _isStatusCollapsed = true; 
    public bool IsStatusCollapsed 
    { 
     get 
     { 
      return _isStatusCollapsed; 
     } 
     set 
     { 
      _isStatusCollapsed = value; 
      OnPropertyChanged("IsStatusCollapsed"); 
     } 
    } 

はXAMLです:

<Grid Grid.Column="0" Grid.Row="3" Visibility="{Binding   
     Path=StatusBar.IsStatusCollapsed, 
     Converter={StaticResource BoolToVis}}"> 
     <Rectangle MinHeight="30" Fill="{Binding   
     StatusBar.StatusBackgroundBrush}" /> 
     <TextBlock Text="{Binding StatusBar.StatusMessage}"  
     TextWrapping="Wrap" FontSize="16" Margin="10,0,0,0" 
     Padding="5" HorizontalAlignment="Left" 
     VerticalAlignment="Center" Foreground="White"/> 
    </Grid> 

グリッドVisibilityプロパティを表示またはするコンバータを使用していますStatusBarを折り畳みます。

StatusBarが下から上に入力され、上から下に消えて表示されないようにアニメーションを実行したいです。

ありがとうございました。

答えて

0

ソリューション:

<Grid Grid.Column="0" Grid.Row="3" > 
     <Rectangle Fill="{Binding StatusBar.StatusBackgroundBrush}" MinHeight="30" Height="0"/> 
     <TextBlock Text="{Binding StatusBar.StatusMessage}" TextWrapping="Wrap" FontSize="16" Margin="10,0,0,0" Padding="5" HorizontalAlignment="Left" VerticalAlignment="Center" Foreground="White"/> 
     <Button Content="X" Padding="5" Command="{Binding Run}" VerticalAlignment="Center" HorizontalAlignment="Right" Background="Transparent" BorderBrush="Transparent"/> 
     <Grid.Style> 
      <Style> 
       <Style.Triggers> 
        <DataTrigger Binding="{Binding RunStoryboard}" Value="False"> 
         <DataTrigger.EnterActions> 
          <BeginStoryboard> 
           <Storyboard> 
            <DoubleAnimation 
             Storyboard.TargetProperty="(Grid.Height)" 
             From="30" To="0" Duration="0:0:1" AutoReverse="False"/> 
           </Storyboard> 
          </BeginStoryboard> 
         </DataTrigger.EnterActions> 
         <DataTrigger.ExitActions> 
          <BeginStoryboard> 
           <Storyboard> 
            <DoubleAnimation 
             Storyboard.TargetProperty="(Grid.Height)" 
             From="0" To="30" Duration="0:0:1" AutoReverse="False"/> 
           </Storyboard> 
          </BeginStoryboard> 
         </DataTrigger.ExitActions> 
        </DataTrigger> 

       </Style.Triggers> 
      </Style> 
     </Grid.Style> 
    </Grid>