2013-08-02 11 views
7

WPF sonsuz döngüsüne girerse, UIElement.UseLayoutRounding="True" ve TextBoxBase.VerticalScrollBarVisibility="Auto" birlikte ayarlandığında .NET 4.0'da yeniden oluşturulmuş bir sorunla karşı karşıya kaldım. Sorun yalnızca Windows Klasik temasında (Windows 7 ve XP'de test edilmiştir) yeniden üretilmiştir. UI kullanılamaz hale gelir, böyleceWPF, UseLayoutRounding = "True"

pencere yüklenir

WPF gösterir ve daha sonra sonsuz bir döngüde TextBlock dikey bir kaydırma çubuğu gizler.

Biçimlendirme tamamen basittir:

App.xaml:

<Application x:Class="PhysioControl.CodeStat.UI.Reviewer.App" 
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
      StartupUri="MainWindowView.xaml"/> 

MainWindowView.xaml:

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     UseLayoutRounding="True"> 
    <StackPanel> 
     <TextBox VerticalScrollBarVisibility="Auto"/> 
    </StackPanel> 
</Window> 

herkes bu kaçınmak yollardan herhangi bir fikir var mı?

+0

VerticalScrollBarVisibility ayarı 'Auto' gerekli mi? Döngü oluşmayacak şekilde her zaman görünür olarak ayarlayabilir misiniz? –

+0

Sorun, XAML yaklaşık 15K hatları ve her VerticalScrollBarVisibility analiz etmek ve güncellemek için çok fazla zaman alacağını olmasıdır. Ayrıca, bu sorunun başka koşullar altında görünmeyeceğinden emin değilim. –

+2

Belki de bunu Microsoft'a bir hata olarak bildirmelisiniz? Bunu, [Microsoft Connect] 'de yapabilirsiniz (http://connect.microsoft.com/VisualStudio/). – Sheridan

cevap

4

TextBoxView'da, Reference Source for .NET 4.5 belgeleri hata numarası 1766924'te VerticalScrollBarVisibility = Auto için arka plan düzeni hesaplamasını devre dışı bırakan bir düzeltme eki ile çok ilginç bir şeyler oluyor. Alıntı:

 // Workaround for bug 1766924. 
     // When VerticalScrollBarVisiblity == Auto, there's a problem with 
     // our interaction with ScrollViewer. Disable background layout to 
     // mitigate the problem until we can take a real fix in v.next. 
     // 

Bu tam gözlemine yer bu feedback article bağlı gibi görünmektedir. 4,5 giderilen .NET 4.0

Bilinen sorun. Bu sorundan muzdarip olan kullanıcılara, makinelerine .NET 4.5 yüklemelerini isteyin. XP kullanıcılarını mutlu tutmanız gerekiyorsa, rfboilers tarafından önerilen geçici çözümü not edin.

+0

Maalesef uygulamamın% 20'sinde XP kullanıcısı var. Ben de onları memnun etmeliyim. Geçici çözümü deneyeceğim ve sorun yaşayan kullanıcılar için çalışıp çalışmayacağını göreceğim. Bu bilgiyi paylaştığınız için teşekkür ederiz. – mephisto123

+0

Geçici çözüm size yardımcı olmuyor :( Tüm kullanıcılar Vista + 'yı kullanana kadar her zaman görünür kaydırma çubuklarına yapışmak zorunda kalacağım ve .NET 4.5 gerekebilecek – mephisto123

-1

O Stackpanel yüzünden olabilir. Scroll viewer, bir stackpanel içinde olduğunda görselleştirmeyi kaybedecek.

-1

görsel stüdyoda bir "temiz projesini" ya da "temiz çözüm" yaptık? bazen yapılarda karışıklık olur