2012-08-16 16 views
17

Windows 8 RTM ile VS2012 RTM'de WPF uygulamam bana deforme olmuş radyo düğmeleri veriyordu, bu yüzden yanlış bir şey yapıp yapmadığımı görmek için bir örnek oluşturmaya karar verdim.Windows 8 WPF radyo düğmelerim neden tümüyle bozuluyor?

İşte tüm XAML App var:

<Window x:Class="WpfApplication1.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" SizeToContent="WidthAndHeight"> 
    <Grid> 
     <StackPanel Margin="20"> 
      <RadioButton Content="Option 1" GroupName="1"/> 
      <RadioButton Content="Option 2" GroupName="2"/> 
      <RadioButton Content="Option 3" GroupName="3"/> 
     </StackPanel> 
    </Grid> 
</Window> 
İşte

Ben DPI ayarları aslında Windows 8'de varsayılan DEĞİLDİR% 100 olarak belirledik (iyi en azından benim 1920x1200 ekran için değil, değil) . Radyo düğmelerinin mükemmel olduğunu göreceksiniz.

enter image description here

Bu benim ekran çözünürlüğü için varsayılan DPI% 125'inde de DPI ayarları ile tamamen aynı uygulamadır.

enter image description here

İşte sen dış daire içinde ortalanmıyorsa iç çevreleri görebilirsiniz

enter image description here

150% var ve KORKUNÇ görünüyor. Radyo düğmeli sistem uygulamaları iyi - ancak WPF 4.5 uygulamam yok. Bir kez daha bu örnek uygulama,% 100 RTM bitleri ve Win 8'in altındaki çiziktir.

Sadece hepsi bozuk mu, yoksa bunu düzeltmenin bir yolu var mı (insanlar% 100 DPI ölçeklendirme koymakta ısrar ediyor).

gerçekten Win8 yüksek çözünürlüklü ekranlar için uzun bir yol giderdi umut ve bu gibi sorunları ölçekleme, ama basit bir şey kötü


Edit :-(kutudan çıktığı bozuldu oldu: bağlantı hata açtı https://connect.microsoft.com/VisualStudio/feedback/details/758368/radio-button-rendering-is-incorrect-on-windows-8-with-125-dpi-scaling-set

Düzenleme: 8/29/12: WPF ekibi kısa Bu sorunu inceledi ve bu sefer ekip itibariyle bu konuyu ele olmayacak

en yüksek sayıda WPF geliştiricisini etkileyen hatalarına odaklanıyor. 'un bunun hatayla çözüldüğünü düşünüyorsanız, lütfen bu hatayı herhangi bir gerekli destek ayrıntılarıyla yeniden etkinleştirin.

+0

Muhtemelen Win8'in kendi başına hatası değil. WPF, daha iyi bütünleştirme için bazı öğeler için varsayılan temalar OS'ye gitse de, WPF kendi kontrollerini çeker. Bu WPF'nin (hala yayın öncesi) .NET 4.5 sürümünde bir hata olabilir. Microsoft'a rapor edin ve düzeltmeye değdiğini düşünün (maalesef her zaman bizim gibi olan kişilerle, sabitlemeye değecek şey konusunda hemfikir değiller). –

+0

Bence OP, bütün bunları RTM bitleriyle oluşturduğunu söyledi. Bu durumda, biraz endişe verici. Ben sadece dev makinemi W8 ve VS RTM ile yeniden konumlandırmak üzereyim - Umarım orada böyle daha fazla gotchas yoktur. – ZombieSheep

+0

@matthew - WPF'nin kontrollerini çizdiği konusunda iyi bir hatırlatma. Sadece Win7'de% 125 olarak kontrol edildi ve biraz bulanık olduğunda mükemmel bir şekilde ortalanırlar. Bunu yapmak için doğru yeri bulduktan sonra bildireceğim. ve zombiesheep RTM kullanıyorum ve bunun için herhangi bir güncelleme beklemediğimi söyledi: -/gerçek bir iş uygulamasında yaygın olarak dağıtılan ben bu –

cevap

0

Bir izleme kutusu içinde StackPanel koymak deneyebilirsiniz .. belki

WPF
+0

Bu vektör grafikleri yener –

1

Herşey tarz. Varsayılan sistem stilleri söz konusu olduğunda, bazen kendi deneyimlerimde, bunun gibi küçük sorunları vardır. Basit bir düzeltme, onaylamak için işletim sistemidir ve işletim sisteminin kendisinin kontrolü kendiniz düzeltip düzeltip düzeltmediğini görmek değildir.

Özgün stili this sorusuna bakarak bulabilirsiniz. Bunlar, yeniden oluşturmanıza ve/veya düzeltmeye yardımcı olur.