public AddAppDialog()
{
InitializeComponent();
listener = new DiscoveryClientAdapter();
listener.DiscoveredEvent += OnSystemDiscovered;
listener.LostEvent += OnSystemLost;
discoveryClient = DiscoveryClient.Create();
discoveryClient.AddListener(listener);
discoveryClient.Ping();
updateTimer = new DispatcherTimer();
updateTimer.Tick += UpdateDiscoveredApps;
updateTimer.Interval = new TimeSpan(0, 0, 0, 0, 1000 / 30); // 30 updates per second
updateTimer.Start();
refreshTimer = new DispatcherTimer();
refreshTimer.Tick += RefreshPing;
refreshTimer.Interval = new TimeSpan(0, 0, 0, pingRefreshRate, 0);
refreshTimer.Start();
}