2010-06-07 5 views
2

Ne pas connaître la différence entre le System.Window.Controls.TextBox et System.Windows.Forms.TextBox. Remarqué que le System.Windows.Forms.TextBox peut avoir InvokeRequried mais System.Window.Controls.TextBox ne peut pas.C#, différence entre System.Window.Controls et System.Windows.Forms?

quelle est la contrepartie de InvokeRequired pour System.Window.Controls.TextBox? Il semblerait que si nous avons à la fois using System.Window.Controls; et using System.Window.Forms;, le code peut entrer en conflit les uns avec les autres?

Répondre

8

System.Windows.Forms est WinForms et utilise le code pour mettre des contrôles, System.Windows.Controls est WPF et utilise XML (XAML spécifiquement) pour mettre des contrôles.

Les deux ne sont PAS faits pour fonctionner ensemble. En outre, WPF existe uniquement dans .NET 3.0 et plus récent.

Ou en cherchiez-vous plus?

+2

Vous n'avez pas besoin d'utiliser XAML pour la mise en page WPF, bien que de nombreuses personnes le trouvent pratique et puissant. Les différences réelles entre Windows Forms et WPF concernent le modèle de présentation et la flexibilité de WPF. –

5

System.Windows.Forms est WinForms.
System.Windows.Controls est WPF.

Ils n'ont absolument rien en commun et ne peuvent pas être utilisés de façon interchangeable.

2

Et pour répondre à votre question sur l'équivalent WPF InvokeRequired, je vous suggère de rechercher le Dispatcher sur MSDN.