Jak zjistit jméno sousedního prvku?

Vývoj aplikací v Silverlightu
Odpovědět
Uživatelský avatar
kalmia
stálý přispěvatel
stálý přispěvatel
Příspěvky: 476
Registrován: úte pro 28, 2010 18:26
Zařízení: Nokia Lumia 930 Black

Jak zjistit jméno sousedního prvku?

Příspěvek od kalmia » úte úno 21, 2012 16:31

Nemohu přijít na řešení následujícího problému. V mřížce se mi po spuštění programu pravidelně rozmístí prvky imgCislo[0] až imgCislo[80], ale pozice těchto prvků se během vykonávání programu mění. Když kliknu na nějakou pozici v mřížce, třeba x = 0, y = 3, jméno prvku zjistím lehce. Ale když chci zároveň zjistit jméno prvku na sousední pozici, třeba x = 0, y = 3, bez toho, že bych na něj klikl, jsem v koncích a nikde nemohu najít řešení. Znám jen pozici a chci zjistit jméno. Jde to nějak? Předem děkuji za rady.

Uživatelský avatar
matoman
smartmaniak
smartmaniak
Příspěvky: 1163
Registrován: sob lis 10, 2007 11:56
Zařízení: Nokia Lumia 920

Jak zjistit jméno sousedního prvku?

Příspěvek od matoman » úte úno 21, 2012 20:40

Vyzera to ze chces spravit hru 15. :), no asi najlepsie je pri kazdej zmene poradia/pozicie zapisat si kde ktory obrazok patri napriklad do ineho pola, kde bude zoznam v aktualnom poradi, potom jednoducho pozries co je na danom mieste za prvok.

Uživatelský avatar
kalmia
stálý přispěvatel
stálý přispěvatel
Příspěvky: 476
Registrován: úte pro 28, 2010 18:26
Zařízení: Nokia Lumia 930 Black

Jak zjistit jméno sousedního prvku?

Příspěvek od kalmia » úte úno 21, 2012 21:38

Tak 'patnáctku' mám úspěšně za sebou i pro WP :lol: .
Tentokrát je to složitější (alespoň pro mě): Chci např. zjistit, zda mezi pozicí x=0, y=0 a pozicí x=5 , y=0 v Grid je nějaký prvek, který tam nepatří. Bohužel nevím, jaká jsou jména prvků na pozicích 1,0, - 4,0, protože prvky se v průběhu programu přemisťují. Takže znovu se ptám: Znám-li pozici prvku v Grid, jak zjistím jeho jméno? Díky moc.

Uživatelský avatar
matoman
smartmaniak
smartmaniak
Příspěvky: 1163
Registrován: sob lis 10, 2007 11:56
Zařízení: Nokia Lumia 920

Jak zjistit jméno sousedního prvku?

Příspěvek od matoman » úte úno 21, 2012 22:02

a tie prvky premiestnuje kto? pokial ty v programe, tak vies, ktory sa kde premiestnil a neni problem, ci je? :) inac k detem gridu pristupis cez "Children"

Uživatelský avatar
kalmia
stálý přispěvatel
stálý přispěvatel
Příspěvky: 476
Registrován: úte pro 28, 2010 18:26
Zařízení: Nokia Lumia 930 Black

Jak zjistit jméno sousedního prvku?

Příspěvek od kalmia » úte úno 21, 2012 22:30

Neříkej mi, že každou změnu pozice prvku si musím někde ukládat a pak znovu načítat a zjišťovat jméno podle jeho pozice. Přece musí "systém" vědět, jak se jmenuje prvek na jakékoli pozici. Jde jen o to, jak tu informaci získat. :grin: I tak Ti dík za Tvůj čas.

Uživatelský avatar
Martin Suchan
smartmaniak
smartmaniak
Příspěvky: 1138
Registrován: pát bře 11, 2011 10:48
Zařízení: Nokia Lumia 925
Bydliště: Praha

Jak zjistit jméno sousedního prvku?

Příspěvek od Martin Suchan » stř úno 22, 2012 8:08

Nejsnazsi reseni - mit view model, ktery ma v sobe informaci o pozici, neco jako "Point P", kde Point ma hodnoty X a Y.
Toto mi nabindovnae pres converter na Grid.Row a Grid.Column, jednotlive elementy mit v gridu a mas to vyresene.
Pouziti pomocne struktury je v tomto pripade take snadnym resenim. Z gridu se to vycte docela tezko, protoze jedinym identifikatorem je predpokladam polozka Grid.Row a Grid.Column u tech elementu, a pokud ji nemas propojenou pres ViewModel, tak musis u kazdeho kroku manualne hledat kde co je.

Uživatelský avatar
kalmia
stálý přispěvatel
stálý přispěvatel
Příspěvky: 476
Registrován: úte pro 28, 2010 18:26
Zařízení: Nokia Lumia 930 Black

Jak zjistit jméno sousedního prvku?

Příspěvek od kalmia » stř úno 22, 2012 19:24

Díky za všechny rady. :grin:

Uživatelský avatar
Igor Kulman
častý přispěvatel
častý přispěvatel
Příspěvky: 228
Registrován: stř bře 28, 2012 12:46
Zařízení: ano

Jak zjistit jméno sousedního prvku?

Příspěvek od Igor Kulman » sob čer 02, 2012 9:06

Linq to Visual Tree: http://www.codeproject.com/Articles/631 ... isual-Tree" onclick="window.open(this.href);return false;

Odpovědět

Zpět na „Silverlight“

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti