XAML.cz Magazín moderních technologií založených na XAML

Coproject – demo RIA aplikace krok za krokem, díl 10,5

Napsáno pro Silverlight od Augustin Šulc [03.03.2011]

Jestli jste sledovali využití procesoru CoProjectem, nejspíše jste si všimli obrovského nárůstu zatížení v modulu To do po prvním načtení dat.

Jde o docela běžný problém, který se obvykle vyskytuje při použití prvků BusyIndicator nebo ProgressBar. Při hledání řešení jsem narazil například na tyto příspěvky: Silverlight forum, Silverlight toolkit issue, Appsolo blog. Po dalším hledání jsem narazil pouze na toto fórum. Naštěstí jsem ale narazil na toto video (vřele doporučuji): Silveright TV episode 57.

Když budeme chtít znalosti z videa využít v Coprojectu, měli bychom nejprve upravit App.xaml.cs:

private void Application_Startup(object sender, StartupEventArgs e)
{
	Application.Current.Host.Settings.EnableRedrawRegions = true;
}

Teď spusťte aplikaci, otevřete modul To do a načtěte data ze serveru (pozor, pokud trpíte epilepsií!). Jak je vidět, máme problém.

Pojďme zkusit aplikovat řešení navrhované ve videu – upravte ShellView následovně:

<grid x:name="LayoutRoot">
	<border style="{StaticResource ContentBorderStyle}">
		<contentcontrol style="{StaticResource LogoIcon}">
	</contentcontrol></border>
	<border style="{StaticResource LeftBorderStyle}">

	<textblock style="{StaticResource ApplicationTitleStyle}" text="Coproject">
	...</textblock></border></grid>

Pak už jen upravte LeftBorderStyle v Custom.xaml:

<style basedon="{StaticResource LinksBorderStyle}" targettype="Border" type="text/css" x:key="LeftBorderStyle">
<Setter Property="Margin" Value="10,135,25,0"/></style>

Spusťte aplikaci – překreslování obrazovky teď funguje, jak má, a i zatížení procesoru je zpět na rozumné úrovni.

Komentáře

ukládám komentář, vyčkejte prosím..
  1. Buďte první, kdo napíše komentář.

@xamlcz

  • RT @jvanrhyn: XAML, It's a bit like olives. Takes a while to get used to. But once you're used to it. It is actually pretty good. <3 XAML
  • RT @moser_christian: WPF Inspector 0.9.7 is released. It supports .NET 3.5 and 4.0 The project is now open source and available on CodeP ...
  • Jeff Handley oznámil vydání WCF RIA Services v.1.0 SP1 RTM http://bit.ly/gOgckn ke stažení na http://bit.ly/gVAXdK
  • jedna výzva pro Brno. Byl někdo z vás na přednášce o RIA v MS Akvárku? Dejte o sobě vědět. Děkuji
  • také jste uvažovali o tom, že zkusíte na projekt použít Caliburn Micro nebo naopak Prism 4? A co tak obojí, šlo by to nebo ne? Již brzy