okienko wyskakujące Windows 8

Podczas przenoszenia aplikacji WPF na uruchamianie instancji Windows 8 (x64) w VMware, odkryłem, że wszystkie wyskakujące okienka są źle wyrównane względem tego, co mają być. Dalsze badania ujawniają, że jest to powszechny „problem” nawet dla nowo utworzonego projektu. Kontrola wyskakująca WPF wydaje się zmienić znaczenie lewej i prawej strony! Problem można pokazać, tworząc aplikację wpf za pomocą vs 2012 i umieszczając w niej kilka wyskakujących okienek, np .:

<Grid Background="Gray">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="129*"/>
        <ColumnDefinition Width="264*"/>
        <ColumnDefinition Width="124*"/>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="30"/>
        <RowDefinition Height="30"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>
    <DockPanel Grid.Row="1" Grid.Column="1" Background="LightGray">
        <Popup StaysOpen="True" IsOpen="True" Grid.RowSpan="2" Placement="Right"  AllowsTransparency="True" >
            <TextBlock Text="Right" Foreground="White" />
        </Popup>
        <Popup StaysOpen="True" IsOpen="True" Grid.RowSpan="2" Placement="Left" AllowsTransparency="True"  >
            <TextBlock Text="Left" Foreground="White" />
        </Popup>
        <Popup StaysOpen="True" IsOpen="True" Grid.RowSpan="2" Placement="Top"  AllowsTransparency="True" >
            <TextBlock Text="Top" Foreground="White" />
        </Popup>
        <Popup StaysOpen="True" IsOpen="True" Grid.RowSpan="2" Placement="Bottom"  AllowsTransparency="True"  >
            <TextBlock Text="Bottom" Foreground="White" />
        </Popup>
    </DockPanel>
</Grid>

Wyskakujące okienko, które ma być wyświetlane po lewej stronie, jest faktycznie wyświetlane po prawej stronie i odwrotnie, to, które powinno znajdować się w lewym dolnym rogu, jest wyświetlane w prawym dolnym rogu itd.

Moje pytanie brzmi: 1) czy jest to błąd lub funkcja? 2) jeśli jest to funkcja, jak zminimalizować zmiany kodów, aby działały w ten sam sposób w systemie Windows 7 i Windows 8?

questionAnswers(2)

yourAnswerToTheQuestion