Diskuze: Kliknutí v Gridu - WPF
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 5 zpráv z 5.
//= 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.
Odchytni MouseDown event pro grid.
private void myGrid_MouseDown(object sender, MouseButtonEventArgs e)
{
Point p = e.GetPosition(this);
double x = p.X;
double y = p.Y;
}
Tím získáš souřadnice kliknutí na gridu. Z vlastností Height a Width gridu zjistíš jeho rozměry, ty vydělíš počtem řádků/sloupců a získáš výšku/šířku jednotlivých buněk. Tou pak vydělíš x a y souřadnice z kliknutí a po ignorací desetinné části získáš číslo řádku/sloupce. Pak to změníš stejně, jako tam nastavuješ obrázek na začátku.
Super, tohle vypadá jako přesně to co potřebuji Díky
Může to být i nohem jednodušší - předpokládám, že obrázky máš "Image"
private void myGrid_MouseDown(object sender, MouseButtonEventArgs e)
{
Image img = e.Source as Image;
img.Source = new BitmapImage(new Uri("novyobrazek.jpg"));
}
a nemusíš nic krkolomně zjišťovat a přepočítávat
Tohle je dle mého asi nejlepší řešení problému, který jsem výše popsal ... zapomněl jsem tam, ale napsat, že k tomu mám vytvořené dvourozměrné pole, které v podstatě odpovídá tomu gridu, a potřebuju tu hodnotu změnit i v něm. Takže tohle mi asi moc nepomůže. Ale upřímně, jsem vůbec netušil, že změnění obrázku, jde udělat takto elegantně a donutilo mě se podívat, co vlastně sender a MouseButtonEventArgs všechno nabízí. Takže díky moc ... tohle je tady na fóru super, lidi tady poradí nejen řešení problému, ale poskytnou inspiraci a rady na co se dál podívat
Zobrazeno 5 zpráv z 5.