如何在Style中实现这个想法?

时间:2015-04-06 19:49:29

标签: c# .net wpf xaml .net-4.5

这个想法:

Window内有网格。我需要为2个场景创建Style。

情景1:

  1. 鼠标进入网格。
  2. 鼠标离开网格
  3. 网格的背景变为红色。
  4. 情景2:

    1. 鼠标进入网格。
    2. 鼠标按下网格。
    3. 鼠标离开网格。
    4. 网格的背景变为蓝色。
    5. 很快:如果鼠标按下 - 如果没有,则将其设为蓝色 - 将其设为红色。

      我试过了,但是在Style中设置像Storyboard这样的freezable对象上的Binding或DynamicResource是不可能的。

      XAML:

          <Window.Resources>
          <Style x:Key="GridStyle1" TargetType="{x:Type Grid}">
              <Style.Resources>
                  <Storyboard x:Key="OnMouseLeave1">
                      <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background).(SolidColorBrush.Color)" Storyboard.TargetName="{x:Null}">
                          <EasingColorKeyFrame KeyTime="0:0:0.2" Value="Red"/>
                      </ColorAnimationUsingKeyFrames>
                  </Storyboard>
              </Style.Resources>
              <Style.Triggers>
                  <EventTrigger RoutedEvent="UIElement.MouseLeave">
                      <BeginStoryboard Storyboard="{StaticResource  OnMouseLeave1}"/>
                  </EventTrigger>
              </Style.Triggers>
              <Setter Property="Background" Value="Black"/>
          </Style>
      </Window.Resources>
      <Grid x:Name="grid" Style="{DynamicResource GridStyle1}" Background="White"/>
      

1 个答案:

答案 0 :(得分:0)

您无法在Android应用中使用Windows窗体。该文档具有误导性 - 它向您显示BCL中的所有内容,而不是Xamarin Android中特别支持的类。