Beispiel #1
0
        public void ApplySkin()
        {
            AppMain.Settings.CurrentSkin.ReloadCurrent();

            foreach (KeyValuePair <string, D2DView> kv in _loadedViews)
            {
                D2DView view = kv.Value;
                if (view is ISkinable)
                {
                    System.Xml.XmlNode viewSkinNode = AppMain.Settings.CurrentSkin.GetViewNodeSkin(view.Name);

                    if (viewSkinNode != null)
                    {
                        (view as ISkinable).ApplySkin(viewSkinNode, AppMain.Settings.CurrentSkin.CurrentSkinPath);
                    }
                }
            }

            //_overlayViewControls.ForEach((vc) => vc.Dispose());
            _overlayViewControls.Clear();

            foreach (XmlNode node in
                     AppMain.Settings.CurrentSkin.OverlayNodes)
            {
                var viewControl = ViewControlFactory.GetViewControlAndApplySkin(
                    node.Name,
                    AppMain.Settings.CurrentSkin.CurrentSkinPath,
                    node);
                //if (viewControl is IMessageObserver)
                //    AppMain.Messanger.AddMessageObserver(viewControl as IMessageObserver);
                if (viewControl != null)
                {
                    _overlayViewControls.AddViewControl(viewControl);
                }
            }
        }