Diskuze: RichTextBox WF vs. WPF
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 19 zpráv z 19.
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Kde jsi přišel na ten nesmysl, že jsou WinForms podporovanější????? Je tomu právě naopak. WF pomalu, ale jistě umírá. WPF je oproti WF novější, je technologicky mnohem dále...
Podívej se do ToolBoxu, na fóra, prostě to není tak strmá cesta, no.
Ještě jsem v ten moment měl jakýsi další argument, ale já rád
zapomínám .
Co uvidím v ToolBoxu? Tam jsou viditelné nástroje podle toho, kterou verzi
.NET zvolíš. Všechno, co umí WF, umí WPF taky a ještě mnohé další. Jen
u některých nástrojů je třeba trošku "pogůglit", protože ve WPF mohou
fungovat trošku jinak než ve WF, nebo je mohly nahradit komponenty
novější.
To, že se o WF diskutuje na fórech neznamená, že je podporovanější, ale
to, že je v tom napsáno hodně aplikací, které je třeba nějakým způsobem
udržovat. Nově vytvářené projekty (obzvláště ty větší) jsou již
většinou ve WPF, protože vývojáři potřebují "vychytávky" a funkčnosti,
kterými WF vzhledem ke své zastaralosti disponovat nemůže, nebo které jsou
ve WF použitelné jen velmi složitým způsobem.
Jen u některých nástrojů je třeba trošku "pogůglit", protože ve WPF mohou fungovat trošku jinak než ve WF, nebo je mohly nahradit komponenty novější.
Např. RichTextBox? A
nemáš, prosím tě, nějaké řešení? Celkem by bodlo.
Jo ještě pár dalších problémů:
Jakou má souvislost VScode s tím o čem se tu bavíte?
Dá se v něm otevřít a číst XML (ale neformátuje se) a prostě je rychlejší než ten můj reader nebo třeba poznámkový blok. Teoreticky bych mohl jako příklad uvést skoro cokoliv. A ano, asi to bude i C++, ale že by jen to…
VSCode je zrovna napsán v JS,HTML,CSS kódu běžící na jádru Chromia
pokud vím. Takže v C++ to asi nebude
Jinak ve vykreslování grafiky jsou například zrovna WPF brutálně vepředu oproti WF.
Tak aspoň vím, v čem to je. A opravdu to není ničím jiným, než jazykem? Jako nějaké ty vymoženosti za ty roky vývoje chápu, ale museli mít i něco do začátku.
Myslíš teď konkrétně to WF a WPF? No pokud vím, tak ve WF je postavené tak, že vše kreslí CPU, kdežto WPF umí kreslit pomocí GPU.
Myslím všechny větší programy. O CPU a GPU jsem už kdesi četl. Asi někde v komentářích článku, co WF a WPF srovnával…
No tak hlavní věc ve výkonu GUI je asi delegování grafické práce na grafickou kartu, což je to co WF neumí.
Stále žádný nápad?
Pro nečtenáře zopakuju nezodpovězené otázky:
Jinak Michal Štěpánek a Erik Šťastný díky za zodpovězení těch
"trochu off-topic" otázek .
Btw. 3. a 4. otázka je ve skutečnosti 4. a 5.
Jestli chceš udělat XML editor/jen highlighter, tak použij něco co zvýrazňuje na základě syntaxe, třeba AvalonEdit (pro WPF) je dobrý. Můžeš si tam i rovnou v xml souboru nastavit pravidla pro zvýrazňování a zvládne to klidně milion řádků a víc. RichTextBox se na tohle nehodí.
4. Zkusil jsem opsat kus kódu s danou funkcí <a
href="https://www.wpf-tutorial.com/rich-text-controls/how-to-creating-a-rich-text-editor/">odtud</a>,
problém ale zůstal.
Opsaná část:
FileStream fs = new FileStream(dlg.FileName, FileMode.Open);
TextRange range = new TextRange(CodeTbx.Document.ContentStart, CodeTbx.Document.ContentEnd);
range.Load(fs, DataFormats.Rtf);
//EDIT: DataFormats jsem zkoušel různé, některé mi soubor odmítaly otevřít
To totiž dost záleží, jaký ten soubor je. A jak jsem psal, RTB ve WPF
využívá k formátování značkování XAMLem, nikoliv RTF formát. Ani se
nedivím, že ti to korektně nefunguje
Problém číslo 4 vyřešen – RTB nesmí být ve ScrollVieweru. Taková
blbost, a mně to trvá měsíc
S XAMLem jsem to taky nějak vyřešil, zkusil jsem si něco uložit z RTB a
potom jsem kus zkopíroval. Ještě tak zjistit, jak zabarvit kus textu, a
XMLreader bude zhruba hotov.
Myslím, že toto vlákno dočasně "uspím", je ale celkem pravděpodobné, že s tímto ještě nějaký problém budu mít. Kdyby někdo opravdu moc trval na označení svého (nebo číhokoliv) příspěvku jako řešení vlákna už teď (s pořádným odůvodněním), můžete mi to napsat do PM.
Tak AvalonEdit jsem vyzkoušel, je to skvělé (ale při 657647řádkovém
souboru je trochu pomalejší
). Kdyby mi nešlo o to si něco udělat sám, označil bych tvůj příspěvek
jako řešení. Díky.
Zobrazeno 19 zpráv z 19.