Instant Chat in WPF vervolgd deel 1

Taskbar/Contextmenu applicatie in WPF
In de App.xaml.cs wordt de applicatie gestart in OnStartUp() event, hiervan heb ik gebruik gemaakt om een Custom Component te starten met een NotifyIcon en een ContextMenu. De NotifyIcon component verschaft de functionaliteit voor de taskbar compatibiliteit en het contextmenu laat zich raden. Hieronder zie je instantiering in de App.xaml.cs;

Hierna wordt in de NotifyIconWrapper klasse een instantie gemaakt van het MainWindow:
private readonly MainWindow win = new MainWindow();

In de klik events van het contextmenu worden de verschillende (WPF) vensters geopend, de aanroep naar het event voor het configuratiescherm staat in de constructor waardoor deze als eerste opent.
Door in de xaml van Configuration.xaml de bijbehorende Controller te registreren kan direct tegen de properties ge-bind worden. Zie het volgende  code fragment in xaml.

<UserControl.DataContext>
  <controller:ConfigurationController/>
</UserControl.DataContext>

Hiermee zijn de Controls op het scherm verbonden in hun Text en Tooltip property door een simpele declaratie zoals deze: Text="{Binding Path=MainUser.DefaultPort, Mode=TwoWay}"
      TwoWay betekent dat veranderingen vanuit de backend in de GUI worden bijgewerkt en vice versa.

De MainUser is bekend in alle Controllers, deze is gedeclareerd in MainController en wordt door alle Controllers als basis klasse gebruikt. Omdat de setter een PropertyChanged Event heeft worden wijzigingen in de MainUser direct doorgegeven naar de Controls die er abonnement op hebben via een property binding.

<Vorige>                                                                                                                                              <Volgende>

-December 2018+
SMTWTFS
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345
  • RSS
  • Add To My MSN
  • Add To Windows Live
  • Add To My Yahoo
  • Add To Google

Statistics

  • Entries (1)
  • Comments (0)

Archives


Laat hier je reactie op deel 1 achter. 

Saturday, May 7, 2011 9:06:00 AM

klik op 'Reactie()' om je reactie achter te laten

Site Map | Printable View | © 2008 - 2018 LeBroITSolutions | | HTML 5 | CSS