所以我开始使用XAML在Visual Studio中创建WPF应用程序,似乎很多控件都不同。同名,但不同。
最值得注意的是(对我来说)是Treeview和RichTextBox。
由于我在WPF工作,我应该使用System.Windows.Forms.TreeView
还是System.Windows.Controls.TreeView
(同样适用于富文本框等)?
我不喜欢System.Windows.Controls
中控件的工作方式。这可能是因为我在表单中习惯了它们,但是例如,我不明白为什么Controls.RichTextBox
没有Text或Clear方法。
与此同时,使用< wf:TreeView />非常烦人。记号很多,所以我尽量使用Sys.Windows.Controls
版本的东西。
一种方式比另一方好吗?或者只是偏好?
答案 0 :(得分:5)
首选方法当然是使用WPF原生System.Windows.Controls
。我想你会习惯他们的。 WPF控件优于Windows Forms控件,因为它们支持绑定,动画,样式等。
WPF控件功能丰富,但有时实现的功能与Windows窗体对应的方式不同。特别是,对于RichTextBox
,您可以使用RichTextBox.Document
来处理内部文本。
例如,从RichTextBox
获取文本可以按如下方式完成:
TextRange textRange = new TextRange(richTextBox.Document.ContentStart,
richTextBox.Document.ContentEnd);
string text = textRange.Text;