Avatar
Michael Olšavský:

Dříve jsem programoval s pomocí winform. Po nějaké době (od té doby, co se zde objevila aplikace převodu měny ve wpf) jsem se začal zajímat o wpf. Četl jsem o tom něco v tom smyslu, že je to rychlejší, protože zatěžuje grafickou kartu a ne tolik procesor atd. Také se mi zdá, že je tam více možností. Zároveň se mi ale moc nelíbí propojení C# a XAML. Předtím se programovalo stejně v "kódu" jako v "designu". Jaký máte názor vy?

 
Odpovědět 2.1.2013 21:47
Avatar
lcet.m
Člen
Avatar
lcet.m:

O žádném propojení C# + XAML nevím. Právě že výhodou WPF je naopak to "rozpojení" logiky a UI. WPF je perfektní, ale na začátku je třeba nasát celkem dost informací. Nemá cenu snažit se vyhnout bindingu, templatům atd. - potom vyjde líp WinForm. Tím výkonem si v praxi nejsem úplně jistý.

 
Nahoru Odpovědět 7.1.2013 0:29
Avatar
Odpovídá na lcet.m
Michael Olšavský:

A nechceš udělat třeba nějaký návod na šablony ve wpf? Celkem by se mi to hodilo. Je to jedna z věci, které jsem zatím nezkousel. Ale je pravda že některé věci(např. Ten binding) jsou velmi užitečné. Díky

 
Nahoru Odpovědět 7.1.2013 16:39
Avatar
lcet.m
Člen
Avatar
lcet.m:

Doporučuji projít články na http://xaml.cz/wpf/?p=4, jsou hezky napsané.

 
Nahoru Odpovědět 7.1.2013 17:54
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na lcet.m
Petr Nymsa:

Propojení mezi C# a XAML existuje. Například v aplikacích pro Win 8 se užívá tzv Binding

Nahoru Odpovědět 7.1.2013 18:33
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
matesax
Redaktor
Avatar
Odpovídá na Petr Nymsa
matesax:

Vůbec Vás nechápu s tím Bindingem - XAML je pěkně odložený design - a to je více, než dobře... Pro programátora je jen o něco problematičtější přístup z logiky, ale normálně se dá se vším pracovat i v C# kódu - tak co chcete propojovat? :)

 
Nahoru Odpovědět 7.1.2013 19:11
Avatar
lcet.m
Člen
Avatar
lcet.m:

Ani já jsem to nějak nepochopil. XAML je prostě způsob, jak pomocí XML popsat strom nějakých instancí. Se C# souvisí asi jako garáž s autem - do garáže se obvykle může dát nějaké auto, nebo taky něco úplně jiného, ale propojení bych tomu neříkal :) Dalo by se říct, že ve WPF je XAML serializovaná instance UI. Problematičnost přístupu z logiky k UI by programátora neměla vůbec zajímat :)

Naopak přístup z UI k logice je vyřešen právě pomocí bindingu velice dobře.

 
Nahoru Odpovědět 8.1.2013 0:25
Avatar
matesax
Redaktor
Avatar
Odpovídá na lcet.m
matesax:

Jo takhlen asi mysleli binding... WPF používám pro práci s grafikou - tedy Forms beru jako moc neměnitelný systém...

 
Nahoru Odpovědět 8.1.2013 7:49
Avatar
lcet.m
Člen
Avatar
lcet.m:

Ano, WPF se dá brát jako "barevnější" WinForm, ale konce takového snažení jsou poměrně smutné. Vím to, sám jsem touhle cestou šel 8| Možná to není žádný obecně uznávaný pattern, ale postupem času jsem došel k tomu, že všechno bude funkční a udržovatelné, pokud vrstva logiky vůbec nemůže k UI, a v "code behind" jsou jen metody událostí z UI. I to by asi správně mělo být nahrazeno commandy, ale ty jsem zatím nějak moc nepoužíval. Každopádně přenos informací z logiky do UI zcela striktně jen přes binding.

Na začátku to může vypadat pracněji, ale když se člověk naučí syntaxi bindingu (doporučuji: http://www.nbdtech.com/…fBinding.pdf), používání triggerů a converterů, všechno do sebe hezky zapadne a výsledná aplikace není noční můrou ani v případě hodně složitých formulářů.

 
Nahoru Odpovědět 8.1.2013 11:24
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.