Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Yamb igrica-kako obojiti Button ili TextBlock na event

[es] :: .NET :: WPF Programiranje :: Yamb igrica-kako obojiti Button ili TextBlock na event

[ Pregleda: 5081 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

PsihoXXX
Nemam
Student

Član broj: 324561
Poruke: 15
*.dynamic.isp.telekom.rs.



Profil

icon Yamb igrica-kako obojiti Button ili TextBlock na event15.08.2014. u 14:06 - pre 117 meseci
Pozdrav, evo opet mene sa jednim pitanjem.

Naime počeo sam da pravim igricu Yamb(Windows store),za sad sam napravio samo izgled koji mi za početak nije bitan nego mi je bitna funkcionalnost. Mislim da bi svu logiku trebao bez problema primeniti,ali naišao sam prvo na jedan problem koji ću opisati i onima koji ne znaju ovu igricu.

Slika kako to sve izgleda je sledeca.


E sada,kada se klikne na dugme baci generisem neke slucajne brojeve i to je skroz ok. Sledeci korak jeste da ostavim neke brojeve(u pravom svetu kockice) nepromenjene,a ostale da ponovo bacim jer imam 3 bacanja. Recimo na ovom primeru mogu da ostavim 5,5 a da se 4 kockice ponovo bace,i da dobijem umesto njih neka nova 4 broja.

Ono sto mi je problem jeste da li ja mogu nekako da naznacim da ostavljam 5 i 5? Znaci da li mogu na neki nacin da obojim recimo u plavu taj Button ili TextBlock onog trenutka kad odlucim da ostavim neki broj?
To meni nije problem uraditi u XAML tipa:

<Border Background="Red" Grid.Row="3" Grid.Column="7" Width="83" Height="28" VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock Grid.Row="3" Grid.Column="7" Text="BACI" FontSize="26" HorizontalAlignment="Center" VerticalAlignment="Center" ></TextBlock>
</Border>

Problem jeste sto ja ne znam da li je to moguce iz c# koda to uraditi i sta su alternative. Znaci taj okvir koji ispisuje broj moze biti i Button(a i TextBlock ispod njega ako on nudi resenje) i recimo da napravim neku metodu koja se aktivira na dupli klik,npr: bkockica1_DoubleTapped().

E sad kako ja da iz te metode obojim Button ili TextBlock? Znaci kliknuo sam dvaput na dugme koje sadrzi broj 5,uskocio sam u metodu bkockica1_DoubleTapped() i sta sad? Kako da to dugme obojim,osencim ili bilo sta slicno? Isto tako potreban mi je i put nazad,tj. da ako je osenceno i obojeno mogu da ga vratim u normalu?
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12848



+4784 Profil

icon Re: Yamb igrica-kako obojiti Button ili TextBlock na event15.08.2014. u 14:32 - pre 117 meseci
Ako ne koristis MVVM ili neki slican pattern koji bi imao model nego bas hoces iz C# koda, onda u xaml-u daj ime tom button-u kojem hoces da promenis npr background otprilike ovako:
<Button Name="bttnDice" ... />

a onda iz C#-a u tom event hadler-u promenis background otprilike ovako:
bttnDice.Background = new SolidColorBrush(Color.FromRgb(70, 140, 210));
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1343
*.dynamic.sbb.rs.



+311 Profil

icon Re: Yamb igrica-kako obojiti Button ili TextBlock na event15.08.2014. u 14:33 - pre 117 meseci
Naravno da je moguće, sve što napišeš u xaml-u možeš da uradiš i preko koda.

Da ne ulazimo sada u filozofiju da bi valjalo da imaš objekat za model igre koji
sadrži logiku i trenutno stanje igre, koji updejtuješ na određene događaje
a zatim preslikavaš trenutno stanje na UI elemente.
To što nemaš model već stanje igre čuvaš po UI elementima i promenljivama
je loša praksa, ali recimo da Yamb verovatno može da se napravi i na taj način.

Da bi promenio boju nečega:
Code:

button.Background = new SolidColorBrush(Colors.Green);

Evo gomile primera:
http://www.geekchamp.com/tips/...-set-common-control-properties

Koje su kocke ostavljene možeš da pamtiš i u promenljivama ili u Tag property-ju kliknutog elementa ili kao ti već volja.
Normalno, kada neko klikne na kocku onda pitaš da li je ostavljena ili nije tamo gde si zapamtio pa na osnovu toga menjaš stanje i bojiš, itd...
 
Odgovor na temu

PsihoXXX
Nemam
Student

Član broj: 324561
Poruke: 15
*.dynamic.isp.telekom.rs.



Profil

icon Re: Yamb igrica-kako obojiti Button ili TextBlock na event15.08.2014. u 15:49 - pre 117 meseci
Rešio sam problem,hvala.

Dušane da li možeš dati link gde mogu da pročitam nešto više o tom objektu za model igre što pričaš? Deluje mi zanimljivo,samo ne znam o čemu se radi,jer sam C# krenuo da radim pre mesec dana,a u C++ i javi se nisam susretao sa tim.
 
Odgovor na temu

30yo

Član broj: 322574
Poruke: 13
*.cpe.vektor.net.



+2 Profil

icon Re: Yamb igrica-kako obojiti Button ili TextBlock na event15.08.2014. u 23:58 - pre 117 meseci
<GridView Name="dobijeniBrojeviGridView" SelectionMode="Multiple" ItemsSource="123456">
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<WrapGrid MaximumRowsOrColumns="3" Orientation="Horizontal"/>
</ItemsPanelTemplate>
</GridView.ItemsPanel>
<GridView.ItemTemplate>
<DataTemplate>
<Border Width="76" Height="32">
<TextBlock Text="{Binding}" FontSize="26" HorizontalAlignment="Center"/>
</Border>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>



odavde ukloni samo ItemsSource i postavi ga u kodu kad bacis kockicu

a u dobijeniBrojeviGridView.SelectedItems ti se nalaze brojevi koje si odabrao da sacuvas

 
Odgovor na temu

PsihoXXX
Nemam
Student

Član broj: 324561
Poruke: 15
*.dynamic.isp.telekom.rs.



Profil

icon Re: Yamb igrica-kako obojiti Button ili TextBlock na event16.08.2014. u 15:21 - pre 117 meseci
Izgleda lepše nego ono što sam ja zamislio samo neće da mi prikaže to na formi uopšte,ne znam zašto?

Inače kako bi mogao da odradim polje za najavu? Mislim jednostavno je dodati još jedan TextBlock gde će pisati najava i pored njega ComboBox odakle mogu da izaberem broj od 1-6,samo da li kad jednom izaberem broj mogu nekako "zamrznuti" ComboBox da ne mogu promeniti vrednost broja dok ne završim potez od 3 bacanja?

Mogu ja u kodu da odradim da i ako promenim broj,a broj preostalih bacanja nije 3, da ne uzimam novi broj i da izbacim neko obaveštenje. Samo nije to baš kako treba,jer jedan broj može biti vidljiv,a za drugi se radi računanje.
 
Odgovor na temu

30yo

Član broj: 322574
Poruke: 13
*.cpe.vektor.net.



+2 Profil

icon Re: Yamb igrica-kako obojiti Button ili TextBlock na event16.08.2014. u 20:34 - pre 117 meseci
videces tek kad pokrenes aplikaciju jer dizajner ne prikazuje podatke kada se koristi ItemsSource

koristis IsEnabled za ComboBox
 
Odgovor na temu

[es] :: .NET :: WPF Programiranje :: Yamb igrica-kako obojiti Button ili TextBlock na event

[ Pregleda: 5081 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.