Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
martinsakra
Tvůrce
Avatar
martinsakra:29.12.2013 14:04

Zdravim
Mam aplikaci ve WPF a dovoluji měnit uživateli velikost okna a podle té výšky upravuju velikost canvasu. Ale obsah canvasu jsou Rectangly a já bych rád měnil jejich velikost,ale až potom co uživatel dokončil změnu velikosti okna. Ne každý frame během změn, protože to by bylo dost nepoužitelný.
Zatím jsem našel jen tohle:

public MyUserControl()
{
    _resizeTimer.Tick += _resizeTimer_Tick;
}

DispatcherTimer _resizeTimer = new DispatcherTimer { Interval = new TimeSpan(0, 0, 0, 0, 1500), IsEnabled = false };

private void UserControl_SizeChanged(object sender, SizeChangedEventArgs e)
{
    _resizeTimer.IsEnabled = true;
    _resizeTimer.Stop();
    _resizeTimer.Start();
}

void _resizeTimer_Tick(object sender, EventArgs e)
{
    _resizeTimer.IsEnabled = false;

    //Do end of resize processing
}

což jepřinejmenším dosti šroubované,ale asi použitelné
Nějaké nápady

Odpovědět
29.12.2013 14:04
Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na martinsakra
David Hartinger:29.12.2013 14:08

Zapisuj si někam velikost okna. Jakmile bude jiná než ta uložená, provedeš potřebné změny a aktualizuješ uloženou velikost.

Nahoru Odpovědět
29.12.2013 14:08
You are the greatest project you will ever work on.
Avatar
Lako
Člen
Avatar
Lako:30.12.2013 18:42

Já bych se asi zaměřil na nějakou událost okna, která je volána po dokončení změny velikosti... Samozřejmě budeš muset nějak zamezit, aby se ti to zvětšovalo v průběhu a to by šlo třeba tak, že canvasu nastavíš přesnou velikost v pixelech, pak hýbneš oknem, nastavíš jí na auto, nebo *, ona se ti patřičně zvětší a pak zase na px....
Nevím jestli existuje přesně událost, která se volá po (dokončení) zvětšení... ale napadá mě:
ManipulacionCom­pleted, MouseLeftButto­nUp,LostMouse­Capture, nebo nějak poštrachat to SizeChanged a určitě toho bude víc...

 
Nahoru Odpovědět
30.12.2013 18:42
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.