VMware에서 실행중인 Windows 8 인스턴스 (x64)로 WPF 응용 프로그램을 이식하는 동안 모든 팝업이 예상 한 것과 잘못 정렬되는 것을 발견했습니다. 추가 조사를 통해 이것이 새로 생성 된 프로젝트의 경우에도 일반적인 "문제"임을 알 수 있습니다. WPF의 팝업 컨트롤은 왼쪽과 오른쪽의 의미를 변경 한 것 같습니다! ,windows 8 팝업 위치
<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>
실제로 권리와 그 반대에 표시되는 왼쪽에 표시하도록되어 팝업을 :이 문제는 2012 대를 사용하여 WPF 응용 프로그램을 작성하여 표시하고처럼, 거기에 약간의 팝업을 넣을 수 있습니다 왼쪽 하단에 있어야하는 것은 오른쪽 하단에 표시됩니다.
내 질문 : 1) 이것은 버그 또는 기능인가요? 2) 그것이 기능이라면 코드가 Windows 7과 Windows 8 내부에서 같은 방식으로 수행되도록 코드를 변경하는 방법은 무엇입니까?
Xaml을 실행중인 환경과 똑같은 환경에 복사 했으므로 정확한 위치의 팝업과 함께 올바르게 작동합니다. –
내 경우와 다른 점은 없습니다. Windows 8의 릴리스 버전을 실행하고 있습니까? Developer Preview 나 Consumer Preview 버전의 Windows 8에서 동일한 응용 프로그램을 실행하려고 시도했을 때 아무런 문제가없는 것 같습니다. –
VMware Player에서 릴리스 비트를 실행 중입니다. –