Diskuze: WPF vs WinForm
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Tvůrce
Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
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ý.
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
Doporučuji projít články na http://xaml.cz/wpf/?p=4, jsou hezky napsané.
Propojení mezi C# a XAML existuje. Například v aplikacích pro Win 8 se užívá tzv Binding
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?
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.
Jo takhlen asi mysleli binding... WPF používám pro práci s grafikou - tedy Forms beru jako moc neměnitelný systé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 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ářů.
Zobrazeno 9 zpráv z 9.