C# - Jak nemít prvky třídy statické, když musím(?) použít statickou ThreadStart

Hanz

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.


neresil by to jedinacek (singleton)? v jave se pouziva docela casto

Hanz

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

Hanz

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é.

Tomáš Roll

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#.


Hanz

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.