2011-05-09 29 views
6

在客户端,我们的一个WPF应用程序开始挂起。当试图用最小的工作示例重现问题时,我发现即使是最基本的(非平凡的)WPF应用程序也会挂在该机器上。Vanilla WPF应用程序挂在一台客户机上

示例A:在Visual Studio 2008中创建一个新的C#WPF项目。更改任何内容,编译并在客户机器上运行它。它会运行。

实施例B:取实施例A,和一个TextBlock添加到主窗体Window1

<Window ...> 
    <Grid> 
     <TextBlock>Test</TextBlock> 
    </Grid> 
</Window> 

编译该应用程序和客户机上运行它。它会挂起:标题栏和窗口边框是可见的,里面是透明的,窗口不会对任何东西做出反应(不能移动或关闭)。应用程序必须使用任务管理器关闭。

很明显,这个客户的WPF已经坏了。这是一个已知的问题,即有人曾经遇到过它,并且已经知道如何解决它(例如重新安装.net 3.5 SP1等)?

开发机器是W7SP1,客户机器是XP(可能是SP3,没检查)。

+1

小字:我知道* *技术上这不是一个编程问题。但是,它不适合Serveradmin和超级用户,这是开发人员最可能遇到的问题。因此,我在这里发布了它。 – Heinzi 2011-05-09 10:57:02

+0

可能是视频驱动程序问题? – Ben 2011-05-09 11:31:25

+2

您是否尝试过其他未开发的WPF应用程序,即以可执行形式从网站下载? – 2011-05-09 11:36:53

回答

0

此外,我最近有一个更复杂的例子这个经验。

摆摆手:

我试过这种清洁剂字体缓存的事情,它什么也没做我挂的应用程序,但情况因人而异。尽管如此,它似乎无害。

也尝试NGEN'ing所有框架的东西,但没有解决问题。

SOLUTION:

在我的MVVM的应用程序,我有一个复杂的控制一个ItemsControl(通用,而不是一个真正的列表框)下降了标签页上。 ItemsControl提供了大约14个'数据行',由绑定到一个小集合的自定义控件组成,该集合本身被ScrollViewer包围。随着ScrollViewer的周围,选定的计算机将无休止地陷入困境。评论Xaml使得应用程序的行为完全正常,这几乎排除了后备ViewModel中的问题。

删除周围的ScrollViewer消除了这个问题,反正也不是真的有必要。我不怀疑,真正的问题在样式潜伏的地方,但坦率地说没有时间或耐心去进一步调查......

片段

<!--<ScrollViewer ScrollViewer.VerticalScrollBarVisibility="Auto" 
        ScrollViewer.CanContentScroll="True" Grid.Row="7" --> 
    <ItemsControl Grid.Row="7" 
      VerticalAlignment="Stretch"  
      HorizontalAlignment="Stretch" 
      Name="FileSettingsList" 
      ItemsSource="{Binding MigratorFiles.FilesCollection}" 
      BorderThickness="2"       
      HorizontalContentAlignment="Left" 
      Template="{StaticResource FileNameSettingsItemsControlTemplate}"       
      ItemsPanel="{StaticResource FileNameSettingsItemsPanelTemplate}" 
      ItemTemplate="{StaticResource FileNameSettingsItemDataTemplate}" > 
    </ItemsControl> 
    <!-- /ScrollViewer --> 
相关问题