当UIElement.UseLayoutRounding="True"
和TextBoxBase.VerticalScrollBarVisibility="Auto"
设置在一起时,我遇到了在.NET 4.0上重现的问题。
该问题仅在Windows经典主题(在Windows 7和XP上测试)上重现。
当窗口加载时,WPF显示然后在无限循环中隐藏TextBlock上的垂直滚动条,以便UI变得不可用。
标记非常简单:
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>
有没有人想办法避免这种情况?
答案 0 :(得分:5)
TextBoxView中有一些非常时髦的东西,.NET 4.5的参考源文档错误号为1766924,其补丁禁用了VerticalScrollBarVisibility = Auto的背景布局计算。引用:
// 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.
//
这似乎与此feedback article相关联,用于描述您的确切观察结果。
.NET 4.0中的已知问题,已在4.5中修复。要求遇到此问题的用户在其计算机上安装.NET 4.5。如果您需要让XP用户满意,请注意rfboilers提出的解决方法。
答案 1 :(得分:-1)
这可能是由于Stackpanel造成的。当滚动查看器位于堆叠面板内时,它将失去可视化效果。
答案 2 :(得分:-1)
您是否在Visual Studio中完成了“清洁项目”或“清洁解决方案”? 有时构建中的某些东西搞砸了