Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Hanz 12. 02. 2015, 12:33:07

Název: C# - Jak nemít prvky třídy statické, když musím(?) použít statickou ThreadStart
Přispěvatel: Hanz 12. 02. 2015, 12:33:07
Dobrý den,

snažím se oživit hru ve wpf/mvvm a narážím na problém, že metoda, která se má postarat o background musí být statická. Prvky, ke kterým přistupuje bych mohl udělat také statické, ale už kvůli bindingu a implementaci INotifyPropertyChanged nemůžu udělat statickou eventu PropertyChanged.

Nevíte prosím, jak se to správně řeší?

Děkuji
H.
Název: Re:C# - Jak nemít prvky třídy statické, když musím(?) použít statickou ThreadStart
Přispěvatel: Ziktofel 12. 02. 2015, 12:47:42
neresil by to jedinacek (singleton)? v jave se pouziva docela casto
Název: C# - Jak nemít prvky třídy statické, když musím(?) použít statickou ThreadStart
Přispěvatel: Hanz 12. 02. 2015, 13:43:20
view má v datakontextu viewmodel (zde je stav aplikace a statická metoda run), taktéž tam jsou veřejné property pro binding se xamlem. pomocí těchto propert nastavuju ve veřejném bezparametrickém konstruktoru počáteční stavy. když nastavím datakontext view na viewmodel, dochází díky těmto vazbám k správnému vykreslení objektů na view.

teď ale moc nerozumím, jak by mi jedináček mohl pomoci? celé to přepsat?

děkuji
Název: C# - Jak nemít prvky třídy statické, když musím(?) použít statickou ThreadStart
Přispěvatel: Hanz 12. 02. 2015, 15:24:24
Pro můj účel tedy pomohlo použít ParametrizedThreadStart (nechtěl jsem řídit program Timerem), jako parametr předávám this v době, kdy již instance existuje. Prvky tedy teď již nemusí být statické.
Název: Re:C# - Jak nemít prvky třídy statické, když musím(?) použít statickou ThreadStart
Přispěvatel: Tomáš Roll 12. 02. 2015, 16:27:11
Proč ThreadStart? Synchronně to nezvládá, nebo si to chceš zkusit?

http://www.wug.cz/zaznamy 

pět videí, které se týkají tématu, asynchronního programování v C#.
Název: C# - Jak nemít prvky třídy statické, když musím(?) použít statickou ThreadStart
Přispěvatel: Hanz 12. 02. 2015, 19:24:59
Nevím jestli správně rozumím. Synchronní je zaregistrování požadavku z klávesnice. Pak běží metoda daná od ThreadStart, která tento požadavek zaregistruje a zpracuje. Možná nerozumím, ale vizuálních objektů v aplikaci je jen několik.