in

DĂ© specialist in .NET trainingen en consultancy

Jo-wen Mei

maart 2008 - Posts

  • x:Key vs x:Name

    Er zijn verschillende manieren om een object in xaml te identificeren.

    En deze worden nog wel eens door elkaar gebruikt, dus het is handig even de verschillen toe te lichten.

     

    We hebben de x:Key. Deze wordt gebruikt voor Resource objecten (alle objecten die IDictionary implementeren om specifiek te zijn).

    Je kan deze opzoeken met FindResource of TryFindResource.

     

    We hebben ook de x:Name attribuut. Deze wordt eigenlijk voor alle andere objecten gebruikt.

    Deze objecten zijn doorzoekbaar met FindName.

    Deze twee sluiten elkaar uit, dus tegelijk gebruiken is niet mogelijk.

     

    Om het helemaal verwarrend te maken zijn er ook nog objecten die je met Name kan identificeren. (Dus zonder het x: gedeelte, wat een verwijzing is naar de xaml namespace). Maar de toegevoegde waarde hiervan ontgaat me, dus gebruik ik alleen x:Name.

    Posted mrt 23 2008, 09:08 by Jo-wen with no comments
    Filed under:
  • ZoomIt

    Hier een handig tooltje om mee in te zoomen. Ideaal voor trainingen en presentaties etc.

     

    "ZoomIt is screen zoom and annotation tool for technical presentations that include application demonstrations. ZoomIt runs unobtrusively in the tray and activates with customizable hotkeys to zoom in on an area of the screen, move around while zoomed, and draw on the zoomed image."

  • Verschillende timers in WPF

    Het lijk wel alsof we in de Matrix zitten, want er bestaan verschillende timers in .Net.

    We hebben de System.Timers.Timer en de System.Windows.Threading.DispatcherTimer

     

    Het voordeel van de DispatcherTimer boven de gewone Timer is dat deze op dezelfde thread draait als de UI.

    Als de gewone Timer UI objecten wil benaderen, moet deze gebruik maken van de Dispatcher met behulp van (Begin)Invoke.

    Een ander voordeel van de DispatcherTimer is dat er een prioriteit kan worden meegegeven.

     

    Er zijn ook nadelen: het kan zijn dat de DispatcherTimer al start voordat Start() is aangeroepen. Bug!

    En er kunnen echter verschillende problemen optreden indien je de DispatcherTimer in een NIET wpf applicatie gebruikt. Meer info

     

    Conclusie: gebruik in WPF de DispatcherTimer, en anders de "gewone" Timer.

    Posted mrt 13 2008, 09:47 by Jo-wen with no comments
    Filed under: