Ich habe mit einem Problem konfrontiert reproduziert auf .NET 4.0, wenn UIElement.UseLayoutRounding="True"
und TextBoxBase.VerticalScrollBarVisibility="Auto"
zusammen gesetzt sind. Das Problem wird nur unter Windows Classic Theme reproduziert (getestet unter Windows 7 und XP).WPF fällt in Endlosschleife, wenn UseLayoutRounding = "True"
Wenn das Fenster geladen wird, und dann zeigt WPF versteckt vertikale Bildlaufleiste auf dem Textblock in Endlosschleife, so dass UI unbrauchbar wird.
Markup ist ganz einfach:
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>
Hat jemand irgendwelche Ideen von Möglichkeiten, dies zu vermeiden?
Ist die Einstellung 'Auto' für die VerticalScrollBarVisibility erforderlich? Kannst du es immer sichtbar machen, damit die Schleife nicht auftritt? –
Das Problem ist, dass wir ungefähr 15K Zeilen XAML haben und es würde eine Menge Zeit brauchen, um jede VerticalScrollBarVisibility zu analysieren und zu aktualisieren. Ich bin mir auch nicht sicher, dass dieses Problem unter anderen Umständen nicht auftreten würde. –
Vielleicht sollten Sie dies als Fehler an Microsoft melden? Sie können dies unter [Microsoft Connect] (http://connect.microsoft.com/VisualStudio/) tun. – Sheridan