2010-07-12 9 views
0

Je ne suis pas en mesure d'appliquer le style à l'exécution sur la fenêtre enfant. J'ai créé deux styles un avec chrome et un sans chrome. Ce que je voulais faire est sur le mode plein écran mediaplayer désactiver le glissement de la fenêtre enfant et sur appuyer sur le bouton d'échappement (mode normal) permettre le glissement de la fenêtre enfant. Mon code ressemble à ceci:Comment appliquer des styles à l'exécution dans Childwindow dans silverlight?

void Content_FullScreenChanged(object sender, EventArgs e) 
{ 

     if (App.Current.Host.Content.IsFullScreen) 
     { 

      ObjChildMediaPlayer.Style = Application.Current.Resources["TestStyle"] as Style; 
     } 
     else 
     { 

      ObjChildMediaPlayer.Style = Application.Current.Resources["TestBasicStyle"] as Style;     

     } 

     ObjChildMediaPlayer.UpdateLayout(); 
    } 

Le traînage plein écran est invalidante, mais quand j'appuyez sur la touche d'échappement ne traîne pas. Je veux que la fenêtre enfant glisse en mode normal.

+0

Il est impossible de diagnostiquer sans voir le contenu des styles. – AnthonyWJones

Répondre

0

TestStyle:

<Style x:Key ="TestStyle" TargetType="controls:ChildWindow"> 
    <Setter Property="IsTabStop" Value="True" /> 
    <Setter Property="TabNavigation" Value="Cycle" /> 
    <Setter Property="HorizontalAlignment" Value="Center" /> 
    <Setter Property="VerticalAlignment" Value="Center" /> 
    <Setter Property="BorderThickness" Value="1" /> 
    <Setter Property="BorderBrush"> 
     <Setter.Value> 
      <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1"> 
       <GradientStop Color="#FFA3AEB9" Offset="0" /> 
       <GradientStop Color="#FF8399A9" Offset="0.375" /> 
       <GradientStop Color="#FF718597" Offset="0.375" /> 
       <GradientStop Color="#FF617584" Offset="1" /> 
      </LinearGradientBrush> 
     </Setter.Value> 
    </Setter> 
    <Setter Property="OverlayBrush"> 
     <Setter.Value> 
      <SolidColorBrush Color="#7F000000" /> 
     </Setter.Value> 
    </Setter> 
    <Setter Property="OverlayOpacity" Value="1" /> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="controls:ChildWindow"> 
       <Grid x:Name="Root"> 
        <Grid.Resources> 
         <Style x:Key="ButtonStyle" TargetType="Button"> 
          <Setter Property="Background" Value="#FF1F3B53" /> 
          <Setter Property="Foreground" Value="#FF000000" /> 
          <Setter Property="Padding" Value="3" /> 
          <Setter Property="BorderThickness" Value="1" /> 
          <Setter Property="BorderBrush"> 
           <Setter.Value> 
            <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> 
             <GradientStop Color="#FFA3AEB9" Offset="0" /> 
             <GradientStop Color="#FF8399A9" Offset="0.375" /> 
             <GradientStop Color="#FF718597" Offset="0.375" /> 
             <GradientStop Color="#FF617584" Offset="1" /> 
            </LinearGradientBrush> 
           </Setter.Value> 
          </Setter> 
          <Setter Property="Template"> 
           <Setter.Value> 
            <ControlTemplate TargetType="Button"> 
             <Grid HorizontalAlignment="Center" VerticalAlignment="Center" Width="15" Height="14" Background="#02FFFFFF" x:Name="grid"> 
              <vsm:VisualStateManager.VisualStateGroups> 
               <vsm:VisualStateGroup x:Name="CommonStates"> 
                <vsm:VisualState x:Name="Normal" /> 
                <vsm:VisualState x:Name="MouseOver"> 
                 <Storyboard> 
                  <ObjectAnimationUsingKeyFrames Storyboard.TargetName="X_Fuzz2" Storyboard.TargetProperty="Visibility"> 
                   <DiscreteObjectKeyFrame KeyTime="0" Value="Visible" /> 
                  </ObjectAnimationUsingKeyFrames> 
                  <ObjectAnimationUsingKeyFrames Storyboard.TargetName="X_Fuzz1" Storyboard.TargetProperty="Visibility"> 
                   <DiscreteObjectKeyFrame KeyTime="0" Value="Visible" /> 
                  </ObjectAnimationUsingKeyFrames> 
                  <ObjectAnimationUsingKeyFrames Storyboard.TargetName="X_Fuzz0" Storyboard.TargetProperty="Visibility"> 
                   <DiscreteObjectKeyFrame KeyTime="0" Value="Visible" /> 
                  </ObjectAnimationUsingKeyFrames> 
                  <DoubleAnimation Duration="0" Storyboard.TargetName="X" Storyboard.TargetProperty="Opacity" To="0.95" /> 
                 </Storyboard> 
                </vsm:VisualState> 
                <vsm:VisualState x:Name="Pressed"> 
                 <Storyboard> 
                  <DoubleAnimation Duration="0" Storyboard.TargetName="X" Storyboard.TargetProperty="Opacity" To="0.85" /> 
                  <ObjectAnimationUsingKeyFrames Storyboard.TargetName="X_Fuzz2" Storyboard.TargetProperty="Visibility"> 
                   <DiscreteObjectKeyFrame KeyTime="0" Value="Visible" /> 
                  </ObjectAnimationUsingKeyFrames> 
                  <ObjectAnimationUsingKeyFrames Storyboard.TargetName="X_Fuzz1" Storyboard.TargetProperty="Visibility"> 
                   <DiscreteObjectKeyFrame KeyTime="0" Value="Visible" /> 
                  </ObjectAnimationUsingKeyFrames> 
                  <ObjectAnimationUsingKeyFrames Storyboard.TargetName="X_Fuzz0" Storyboard.TargetProperty="Visibility"> 
                   <DiscreteObjectKeyFrame KeyTime="0" Value="Visible" /> 
                  </ObjectAnimationUsingKeyFrames> 
                 </Storyboard> 
                </vsm:VisualState> 
                <vsm:VisualState x:Name="Disabled"> 
                 <Storyboard> 
                  <DoubleAnimation Duration="0" Storyboard.TargetName="X" Storyboard.TargetProperty="Opacity" To="0.5" /> 
                 </Storyboard> 
                </vsm:VisualState> 
               </vsm:VisualStateGroup> 
              </vsm:VisualStateManager.VisualStateGroups> 
              <Path HorizontalAlignment="Center" Margin="0,-1,0,0" Width="9" Fill="#14C51900" Stretch="Fill" Data="F1 M 6.742676,3.852539 L 9.110840,1.559570 L 8.910645,0.500000 L 6.838379,0.500000 L 4.902832,2.435547 L 2.967285,0.500000 L 0.895020,0.500000 L 0.694824,1.559570 L 3.062988,3.852539 L 0.527832,6.351563 L 0.689941,7.600586 L 2.967285,7.600586 L 4.897949,5.575195 L 6.854004,7.600586 L 9.115723,7.600586 L 9.277832,6.351563 L 6.742676,3.852539 Z" x:Name="X_Fuzz2" Stroke="#14C51900" Height="8" VerticalAlignment="Center" Opacity="1" RenderTransformOrigin="0.5,0.5" Visibility="Collapsed"> 
               <Path.RenderTransform> 
                <TransformGroup> 
                 <ScaleTransform ScaleX="1.3" ScaleY="1.3" /> 
                </TransformGroup> 
               </Path.RenderTransform> 
              </Path> 
              <Path HorizontalAlignment="Center" Margin="0,-1,0,0" Width="9" Fill="#1EC51900" Stretch="Fill" Data="F1 M 6.742676,3.852539 L 9.110840,1.559570 L 8.910645,0.500000 L 6.838379,0.500000 L 4.902832,2.435547 L 2.967285,0.500000 L 0.895020,0.500000 L 0.694824,1.559570 L 3.062988,3.852539 L 0.527832,6.351563 L 0.689941,7.600586 L 2.967285,7.600586 L 4.897949,5.575195 L 6.854004,7.600586 L 9.115723,7.600586 L 9.277832,6.351563 L 6.742676,3.852539 Z" x:Name="X_Fuzz1" Stroke="#1EC51900" Height="8" VerticalAlignment="Center" Opacity="1" RenderTransformOrigin="0.5,0.5" Visibility="Collapsed"> 
               <Path.RenderTransform> 
                <TransformGroup> 
                 <ScaleTransform ScaleX="1.1" ScaleY="1.1" /> 
                </TransformGroup> 
               </Path.RenderTransform> 
              </Path> 
              <Path HorizontalAlignment="Center" Margin="0,-1,0,0" Width="9" Fill="#FFC51900" Stretch="Fill" Data="F1 M 6.742676,3.852539 L 9.110840,1.559570 L 8.910645,0.500000 L 6.838379,0.500000 L 4.902832,2.435547 L 2.967285,0.500000 L 0.895020,0.500000 L 0.694824,1.559570 L 3.062988,3.852539 L 0.527832,6.351563 L 0.689941,7.600586 L 2.967285,7.600586 L 4.897949,5.575195 L 6.854004,7.600586 L 9.115723,7.600586 L 9.277832,6.351563 L 6.742676,3.852539 Z" x:Name="X_Fuzz0" Stroke="#FFC51900" Height="8" VerticalAlignment="Center" Opacity="1" Visibility="Collapsed" /> 
              <Path HorizontalAlignment="Center" Margin="0,-1,0,0" Width="9" Fill="#FFFFFFFF" Stretch="Fill" Data="F1 M 6.742676,3.852539 L 9.110840,1.559570 L 8.910645,0.500000 L 6.838379,0.500000 L 4.902832,2.435547 L 2.967285,0.500000 L 0.895020,0.500000 L 0.694824,1.559570 L 3.062988,3.852539 L 0.527832,6.351563 L 0.689941,7.600586 L 2.967285,7.600586 L 4.897949,5.575195 L 6.854004,7.600586 L 9.115723,7.600586 L 9.277832,6.351563 L 6.742676,3.852539 Z" x:Name="X" Height="8" VerticalAlignment="Center" Opacity="0.7"> 
               <Path.Stroke> 
                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> 
                 <GradientStop Color="#FF313131" Offset="1" /> 
                 <GradientStop Color="#FF8E9092" Offset="0" /> 
                </LinearGradientBrush> 
               </Path.Stroke> 
              </Path> 
             </Grid> 
            </ControlTemplate> 
           </Setter.Value> 
          </Setter> 
         </Style> 
        </Grid.Resources> 
        <vsm:VisualStateManager.VisualStateGroups> 
         <vsm:VisualStateGroup x:Name="WindowStates"> 
          <vsm:VisualState x:Name="Open"> 
           <Storyboard> 
            <DoubleAnimationUsingKeyFrames BeginTime="0" Storyboard.TargetName="Overlay" Storyboard.TargetProperty="Opacity"> 
             <EasingDoubleKeyFrame KeyTime="0" Value="0" /> 
             <EasingDoubleKeyFrame KeyTime="00:00:00.3" Value="1" /> 
            </DoubleAnimationUsingKeyFrames> 
            <DoubleAnimationUsingKeyFrames BeginTime="0" Storyboard.TargetName="ContentRoot" Storyboard.TargetProperty="(RenderTransform).(Children)[0].ScaleX"> 
             <SplineDoubleKeyFrame KeyTime="0" Value="0" /> 
             <SplineDoubleKeyFrame KeyTime="00:00:00.25" Value="0" /> 
             <SplineDoubleKeyFrame KeyTime="00:00:00.4" Value="1" /> 
             <SplineDoubleKeyFrame KeySpline="0,0,0.5,1" KeyTime="00:00:00.45" Value="1.05" /> 
             <SplineDoubleKeyFrame KeyTime="00:00:00.55" Value="1" /> 
            </DoubleAnimationUsingKeyFrames> 
            <DoubleAnimationUsingKeyFrames BeginTime="0" Storyboard.TargetName="ContentRoot" Storyboard.TargetProperty="(RenderTransform).(Children)[0].ScaleY"> 
             <SplineDoubleKeyFrame KeyTime="0" Value="0" /> 
             <SplineDoubleKeyFrame KeyTime="00:00:00.25" Value="0" /> 
             <SplineDoubleKeyFrame KeyTime="00:00:00.4" Value="1" /> 
             <SplineDoubleKeyFrame KeySpline="0,0,0.5,1" KeyTime="00:00:00.45" Value="1.05" /> 
             <SplineDoubleKeyFrame KeyTime="00:00:00.55" Value="1" /> 
            </DoubleAnimationUsingKeyFrames> 
           </Storyboard> 
          </vsm:VisualState> 
          <vsm:VisualState x:Name="Closed"> 
           <Storyboard> 
            <DoubleAnimationUsingKeyFrames BeginTime="0" Storyboard.TargetName="Overlay" Storyboard.TargetProperty="Opacity"> 
             <EasingDoubleKeyFrame KeyTime="0" Value="1" /> 
             <EasingDoubleKeyFrame KeyTime="00:00:00.3" Value="0" /> 
            </DoubleAnimationUsingKeyFrames> 
            <DoubleAnimationUsingKeyFrames BeginTime="0" Storyboard.TargetName="ContentRoot" Storyboard.TargetProperty="(RenderTransform).(Children)[0].ScaleX"> 
             <SplineDoubleKeyFrame KeyTime="00:00:00.2" Value="1" /> 
             <SplineDoubleKeyFrame KeyTime="00:00:00.25" Value="1.05" /> 
             <SplineDoubleKeyFrame KeyTime="00:00:00.45" Value="0" /> 
            </DoubleAnimationUsingKeyFrames> 
            <DoubleAnimationUsingKeyFrames BeginTime="0" Storyboard.TargetName="ContentRoot" Storyboard.TargetProperty="(RenderTransform).(Children)[0].ScaleY"> 
             <SplineDoubleKeyFrame KeyTime="00:00:00.2" Value="1" /> 
             <SplineDoubleKeyFrame KeyTime="00:00:00.25" Value="1.05" /> 
             <SplineDoubleKeyFrame KeyTime="00:00:00.45" Value="0" /> 
            </DoubleAnimationUsingKeyFrames> 
           </Storyboard> 
          </vsm:VisualState> 
         </vsm:VisualStateGroup> 
        </vsm:VisualStateManager.VisualStateGroups> 
        <Grid x:Name="Overlay" HorizontalAlignment="Stretch" VerticalAlignment="Top" Margin="0" Background="{TemplateBinding OverlayBrush}" Opacity="{TemplateBinding OverlayOpacity}" /> 
        <Grid x:Name="ContentRoot" HorizontalAlignment="{TemplateBinding HorizontalAlignment}" VerticalAlignment="{TemplateBinding VerticalAlignment}" RenderTransformOrigin="0.5,0.5" Height="{TemplateBinding Height}" Width="{TemplateBinding Width}"> 
         <Grid.RenderTransform> 
          <TransformGroup> 
           <ScaleTransform /> 
           <SkewTransform /> 
           <RotateTransform /> 
           <TranslateTransform /> 
          </TransformGroup> 
         </Grid.RenderTransform> 
         <Border BorderThickness="1" CornerRadius="2" BorderBrush="#14000000" Background="#14000000" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="-1" /> 
         <Border BorderThickness="1" CornerRadius="2.25" BorderBrush="#0F000000" Background="#0F000000" HorizontalAlignment="Stretch" Margin="-2" VerticalAlignment="Stretch" /> 
         <Border BorderThickness="1" CornerRadius="2.5" BorderBrush="#0C000000" Background="#0C000000" HorizontalAlignment="Stretch" Margin="-3" VerticalAlignment="Stretch" /> 
         <Border BorderThickness="1" CornerRadius="2.75" BorderBrush="#0A000000" Background="#0A000000" HorizontalAlignment="Stretch" Margin="-4" VerticalAlignment="Stretch" /> 
         <Border Background="#FFFFFFFF" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}" CornerRadius="2"> 
          <Border CornerRadius="1.5" Margin="1"> 
           <Border.Background> 
            <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> 
             <GradientStop Color="#FFE5E8EB" Offset="1" /> 
             <GradientStop Color="#FFF6F8F9" Offset="0" /> 
            </LinearGradientBrush> 
           </Border.Background> 
           <Grid IsHitTestVisible="True" > 
            <Grid.RowDefinitions> 
             <RowDefinition Height="Auto" /> 
             <RowDefinition /> 
            </Grid.RowDefinitions> 
            <Border x:Name="Chrome" Width="Auto" BorderBrush="#FFFFFFFF" BorderThickness="0,0,0,1"> 
             <Border.Background> 
              <LinearGradientBrush EndPoint="0.5,0.528" StartPoint="0.5,0"> 
               <GradientStop Color="#FFE5E8EB" Offset="1" /> 
               <GradientStop Color="#FFFEFEFE" Offset="0" /> 
              </LinearGradientBrush> 
             </Border.Background> 
             <Grid Height="Auto" Width="Auto"> 
              <Grid.ColumnDefinitions> 
               <ColumnDefinition /> 
               <ColumnDefinition Width="30" /> 
              </Grid.ColumnDefinitions> 


Autre style ne dispose pas de chrome reste tout est pareil.

Questions connexes