/ / Kiedy pracuję w WPF, czy powinienem używać kontrolek z System.Windows.Controls lub System.Windows.Forms? - wpf, winformy, formularze, xaml, formanty

Pracując w WPF, czy powinienem używać kontrolek z System.Windows.Controls lub System.Windows.Forms? - wpf, winformy, formularze, xaml, formanty

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 № 1

Preferowanym 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;