in

DĂ© specialist in .NET trainingen en consultancy

Jo-wen Mei

oktober 2007 - Posts

  • Silverlight 1.1 tutorials

    Hier een blog met allerlei tutorials over de managed Silverlight versie.

    Er word veel gepost, dus houd de site in de gaten.

    Posted okt 26 2007, 09:12 by Jo-wen with no comments
    Filed under:
  • UI virtualization

    UI virtualization is een techniek om de performance te verbeteren van het renderen van ListBoxes en ListViews.

    Wanneer een grote data collectie gebind is, worden alleen de zichtbare items gerendered (en een paar ervoor/erna om de scrollsnelheid hoog te houden), en niet de gehele collectie! Wanneer de gebruiker scrollt, worden de nieuwe zichtbare items gerendered, en diegene die niet meer zichtbaar zijn worden gedisposed.

    Momenteel wordt UI virtualization alleen standaard ondersteunt door de ListBox en ListView. Dit omdat ze gebruik maken van een VirtualizingStackPanel.

    Hoe zit het met andere controls?

    • Hier wordt uitgelegd om dit met een combobox werkend te krijgen.  
    • TreeView kan het niet ondersteunen, omdat de VirtualizingStackPanel geen hierarchie kan weergeven
    • Hetzelfde geldt voor een ListBox met "grouping" enabled (de ListBox heeft standaard wel UI Virtualization, maar verliest dit als de data gegroepeerd wordt)


    Posted okt 22 2007, 03:39 by Jo-wen with no comments
    Filed under:
  • problemen met MouseLeftButtonDown in WPF

    Laatst wilde ik op een button het MouseLeftButtonDown event afvangen in plaats van het standaard Click event.  Dit was iets trickier dan ik dacht...

    Zoals jullie wellicht weten is er in wpf een nieuw event programming model, dat onder andere gebruik maakt van routed eventsHier staat een beknopt overzicht.

    Het heeft veel voordelen, maar sommige dingen worden er iets ondoorzichtiger van.

    Normaliter bestaat een logisch event uit 2 echte events:

    • een tunneling event (meestal met een "Preview" prefix ) dat in de visual tree omlaag gaat
    • een bubbling event dat in de tree omhoog gaat

    Maar bij MouseLeftButtonDown is dit dus niet zo!

    Als ik het goed begrijp is er dus wel een tunneling event, in dit geval PreviewMouseLeftButtonDown, maar geen bijbehorend bubbling event.

    MouseLeftButtonDown bestaat wel, maar mbv Reflector kan ik zien dat dit event wordt geregistreerd met RoutingStrategy.Direct.

    Dus de Button class (en al de descendants, waaronder de Checkbox en RadioButton), slikt de MouseLeftButtonDown en verandert het min of meer in het Click event.

    Conclusie: probeer PreviewMouseLeftButtonDown te gebruiken ipv MouseLeftButtonDown

     

    Note: MouseDown zou LeftButtonDown en RightButtonDown moeten afvangen, maar werkt dus alleen met de rechtermuis knop 

     

     

    Posted okt 03 2007, 05:41 by Jo-wen with no comments
    Filed under:
  • Getting started with Blend

    Hier een hele reeks training video's over het gebruik van Expression Blend.

    [Edit] hier staan er ook nog een paar