Tak zaczynam używać XAML do tworzenia aplikacji WPF w Visual Studio, i wydaje się, że wiele formantów jest różnych. To samo imię, ale inne.
Przede wszystkim (dla mnie) jest Treeview i RichTextBox.
Ponieważ pracuję w WPF, powinienem użyć System.Windows.Forms.TreeView
lub System.Windows.Controls.TreeView
(tak samo w przypadku tekstowych pól tekstowych itp.)?
Nie podoba mi się sposób, w jaki sterują System.Windows.Controls
praca. Może dlatego, że jestem przyzwyczajony do nich w Formularzach, ale na przykład nie rozumiem dlaczego Controls.RichTextBox
nie ma metody Text ani Clear.
Jednocześnie bardzo denerwujące jest używanie notacji <wf: TreeView />, więc staram się używać Sys.Windows.Controls
wersje rzeczy tak dużo, jak tylko mogę.
Czy jeden sposób jest lepszy od drugiego? Czy to tylko preferencje?
Odpowiedzi:
5 dla odpowiedzi № 1Preferowanym sposobem jest oczywiście używanie natywnego trybu WPF System.Windows.Controls
. Myślę, że przyzwyczaicie się do nich, ponieważ kontrole WPF są lepsze niż formaty Windows Forms ze względu na ich obsługę wiązania, animacji, stylizacji itp.
Formanty WPF są bogate w funkcje, ale funkcje są czasem implementowane w inny sposób niż w przypadku odpowiedników Windows Forms. W szczególności dla RichTextBox
możesz użyć RichTextBox.Document
do pracy z tekstem w środku.
Na przykład, pobieranie tekstu z pliku RichTextBox
można zrobić w następujący sposób:
TextRange textRange = new TextRange(richTextBox.Document.ContentStart,
richTextBox.Document.ContentEnd);
string text = textRange.Text;