2011-05-09 44 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 -->