LØSNING: Et .NET Framework 3.0-baseret WPF-program kan gå ned, når du trykker på et menupunkt i en genvejsmenu

Gælder for
.NET Framework 3.5 Service Pack 1

Symptomer

Overvej følgende scenarie:

  • Du kører et .NET Framework 3.0-baseret WPF-program (Windows Presentation Foundation) på en multitouchenhed.

  • Du udfører en touchbevægelse på et kontrolelement i WPF-programmet for at åbne en genvejsmenu.

    Bemærk! En genvejsmenu kan normalt åbnes ved at trykke på højre museknap på et kontrolelement.

  • Tryk på et menupunkt i genvejsmenuen.

I dette scenarie kan der forekomme en System.ArgumentNullException-undtagelse, og WPF-programmet går derefter ned.

Årsag

Dette problem opstår, fordi metoden PopupControlService.OnPostProcessInput i WPF-programmet refererer til en egenskab, der har en null-værdi.

Løsning

Du kan løse dette problem ved at anvende den hotfixpakke, der er beskrevet i følgende artikel i Microsoft Knowledge Base:

2667241 Der findes en opdateringspakke til Windows Presentation Foundation (WPF) til Microsoft .NET Framework 3.5

Status

Microsoft har bekræftet, at dette er et problem i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".

Flere oplysninger

Yderligere filoplysninger

Yderligere filoplysninger for alle understøttede x86-baserede versioner af Windows 7

Filnavn X86_presentationcore_31bf3856ad364e35_6.1.7600.20904_none_ace68dc20a25779b.manifest
Filversion Ikke muligt
Filstørrelse 4,445
Dato (UTC) 18-feb-2011
Klokkeslæt (UTC) 06:26
Filnavn X86_wpf-presentationframework_31bf3856ad364e35_6.1.7600.20904_none_6f3bd788d02795c8.manifest
Filversion Ikke muligt
Filstørrelse 2,189
Dato (UTC) 18-Feb- 2011
Klokkeslæt (UTC) 06:27
Filnavn X86_wpf- presentationhostdll_31bf3856ad364e35_6.1.7600.20904_none_70c0e8bb9a3069e6.manifest
Filversion Ikke muligt
Filstørrelse 2,993
Dato (UTC) 18-feb-2011
Klokkeslæt (UTC) 06:28
Filnavn X86_wpf-windowsbase_31bf3856ad364e35_6.1.7600.20904_none_58228866c1f74d9e.manifest
Filversion Ikke muligt
Filstørrelse 2,149
Dato (UTC) 18-feb-2011
Klokkeslæt (UTC) 06:25

Yderligere filoplysninger for alle understøttede x64-baserede versioner af Windows 7 og Windows Server 2008 R2

Filnavn Amd64_presentationcore_31bf3856ad364e35_6.1.7600.20904_none_09052945c282e8d1.manifest
Filversion Ikke muligt
Filstørrelse 4,459
Dato (UTC) 18-feb-2011
Klokkeslæt (UTC) 07:27
Filnavn Amd64_wpf- presentationframework_31bf3856ad364e35_6.1.7600.20904_none_cb5a730c888506fe.manifest
Filversion Ikke muligt
Filstørrelse 3,600
Dato (UTC) 18-feb-2011
Klokkeslæt (UTC) 07:30
Filnavn Amd64_wpf-presentationhostdll_31bf3856ad364e35_6.1.7600.20904_none_ccdf843f528ddb1c.manifest
Filversion Ikke muligt
Filstørrelse 3,003
Dato (UTC) 18-feb-2011
Klokkeslæt (UTC) 07:31
Filnavn Amd64_wpf-windowsbase_31bf3856ad364e35_6.1.7600.20904_none_b44123ea7a54bed4.manifest
Filversion Ikke muligt
Filstørrelse 5,426
Dato (UTC) 18-Feb- 2011
Klokkeslæt (UTC) 07:36

Oplysninger om kaldstak

PresentationCore.dll!System.Windows.PresentationSource.CriticalFromVisual(System.Windows.DependencyObject v, bool enable2DTo3DTransition) Line 614           C# 
PresentationFramework.dll!System.Windows.Controls.PopupControlService.OnPostProcessInput(object sender, System.Windows.Input.ProcessInputEventArgs e) Line 82 + 0x45 bytes C# 
PresentationCore.dll!System.Windows.Input.InputManager.ProcessStagingArea() Line 833 + 0xd bytes              C# 
PresentationCore.dll!System.Windows.Input.InputManager.ProcessInput(System.Windows.Input.InputEventArgs input) Line 562 + 0x8 bytes          C# 
PresentationCore.dll!System.Windows.Input.InputProviderSite.ReportInput(System.Windows.Input.InputReport inputReport) Line 125 + 0x16 bytes          C# 
PresentationCore.dll!System.Windows.Interop.HwndMouseInputProvider.ReportInput(System.IntPtr hwnd, System.Windows.Input.InputMode mode, int timestamp, System.Windows.Input.RawMouseActions actions, int x, int y, int wheel) Line 1359       C# 
PresentationCore.dll!System.Windows.Interop.HwndMouseInputProvider.FilterMessage(System.IntPtr hwnd = 2560340, int msg = 512, System.IntPtr wParam = 0, System.IntPtr lParam = 100, ref bool handled = false) Line 490 + 0x37 bytes     C#