xaml in IE6 only animates on startup screen on multimonitor

I'm wondering if this is just a problem with my setup or if others have this problem.

If you have a multi-monitor setup Take a xaml file like this:

<StackPanel xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

TextBlock.FontSize="18pt" >

<UniformGrid Rows="3" Columns="3" Width="450">

<Button Content="Button 1234" />

<Button Content="Button 1234" />

<Button Content="Button 1234" />

<Button Content="Button 1234" />

<Button Content="Button 1234">

<Button.LayoutTransform>

<RotateTransform x:Name="rotation" />

</Button.LayoutTransform>

</Button>

<Button Content="Button 1234" />

<Button Content="Button 1234" />

<Button Content="Button 1234" />

<Button Content="Button 1234" />

</UniformGrid>

<StackPanel.Triggers>

<EventTrigger RoutedEvent="StackPanel.Loaded">

<BeginStoryboard>

<Storyboard>

<DoubleAnimation Storyboard.TargetName="rotation"

Storyboard.TargetProperty="Angle"

Duration="0:0:10"

From="0" To="360"

RepeatBehavior="Forever" />

</Storyboard>

</BeginStoryboard>

</EventTrigger>

</StackPanel.Triggers>

</StackPanel>

Open it in Internet Explorer, and then drag the window to the other screen and see if the animation stops.

I'm running Windows XP x64 with Nvidia 7800GT with a Dell 24" in Protrait mode on the left, and a Dell 24" LCD in Landscape mode on the right, which might give me some unique problems.



Answer this question

xaml in IE6 only animates on startup screen on multimonitor

  • Phantom_ab

    I cannot repro it under my multimon configuration. Is this an issue with only animations, or do other things stop as well (e.g., input, video, setting a property directly)
  • Jeff Coe

    It seems to stop redrawing the control such that I can get a really messed up looking animated scene as I drag it to the other screen as each pixel only stops rendering as it moves onto the other screen. Only occurs when the XAML file is hosted in Internet Explorer.

    Event Triggers Like Mouse.MouseEnter still work though, so it's just the rendering.


  • Neelesh Thakur

    This problem comes up whenever WPF is not in charge of the top-level window, and the top-level window moves to a different monitor. In this case, Internet Explorer is in charge of the top-level window.

    As you've correctly noted, it is a rendering issue. The application is still executing correctly underneath, but the updated content fails to make it all the way to the screen.

    The "really messed up looking animated scene" is a result of Windows trying to handle this failure gracefully by copying bits and pieces from the primary monitor. As you've noticed, the result doesn't actually look very graceful.

    A candidate fix has been submitted for this issue. Unfortunately, I don't know of a good workaround (beyond "Don't host in IE" or "Don't move to another monitor") until a fixed version of WPF is available for you to use.

    Thanks for bringing up this issue,

    Roger

    P.S. Your monitor in portrait mode/landscape mode has no effect on this particular problem, but it's great to call out these types of details.



  • xaml in IE6 only animates on startup screen on multimonitor