/ / Cuando trabajo en WPF, ¿debería usar controles de System.Windows.Controls o System.Windows.Forms? - wpf, winforms, formas, xaml, controles

Cuando trabajo en WPF, ¿debería usar controles de System.Windows.Controls o System.Windows.Forms? - wpf, winforms, forms, xaml, controles

Así que estoy empezando a usar XAML para crear aplicaciones WPF en Visual Studio, y parece que MUCHOS controles son diferentes. Mismo nombre, pero diferente.

Lo más notable (para mí) es Treeview y RichTextBox.

Ya que estoy trabajando en WPF, debo usar System.Windows.Forms.TreeView o System.Windows.Controls.TreeView (igual para cuadros de texto enriquecido, etc.)?

No me gusta la forma en que los controles en System.Windows.Controls trabajo. Puede ser porque estoy acostumbrado a ellos en los formularios, pero, por ejemplo, no entiendo por qué. Controls.RichTextBox No tiene un texto o un método claro.

Al mismo tiempo, es realmente molesto tener que usar mucho la notación <wf: TreeView />, así que trato de usar el Sys.Windows.Controls Versiones de cosas tanto como pueda.

¿Es una manera mejor que la otra? ¿O es solo preferencia?

Respuestas

5 para la respuesta № 1

La forma preferida es, por supuesto, usar WPF-nativo System.Windows.Controls. Creo que te acostumbrarás a ellos. Los controles WPF son superiores a los de Windows Forms debido a su compatibilidad con el enlace, la animación, el estilo, etc.

Los controles de WPF tienen muchas funciones, pero a veces las funciones no se implementan de la misma forma que las contrapartes de Windows Forms. En particular, para RichTextBox puedes usar RichTextBox.Document Para trabajar con el texto interior.

Por ejemplo, obtener el texto de un RichTextBox Se puede hacer de la siguiente manera:

TextRange textRange = new TextRange(richTextBox.Document.ContentStart,
richTextBox.Document.ContentEnd);
string text = textRange.Text;