Beispiel #1
0
        public Songrequest()
        {
            Handler = new SongrequestHandler();

            var type = new MetroContentControl().GetType();

            AddCommand            = new Internal.RelayCommand(add => AddSongToPlaylist(), add => !String.IsNullOrEmpty(AddYoutubeUrl) || !String.IsNullOrEmpty(AddPlaylistUrl));
            PlaySongCommand       = new Internal.RelayCommand(p => PlaySong(), p => Handler.Player.SongList.Any());
            HonorRequesterCommand = new Internal.RelayCommand(h => HonorRequester(), p => Handler.Player.SelectedSong != null);
            DeleteCommand         = new Internal.RelayCommand(d => DeleteSong(), d => Handler.Player.SelectedSong != null);
        }
Beispiel #2
0
        private static void ReloadSelectionChanged(TabControl sender, SelectionChangedEventArgs e)
        {
            if (e.OriginalSource != sender)
            {
                return;
            }
            ContentControl      metroContentControl  = ReloadBehavior.GetMetroContentControl((TabControl)sender);
            MetroContentControl metroContentControl1 = metroContentControl as MetroContentControl;

            if (metroContentControl1 != null)
            {
                metroContentControl1.Reload();
            }
            TransitioningContentControl transitioningContentControl = metroContentControl as TransitioningContentControl;

            if (transitioningContentControl != null)
            {
                transitioningContentControl.ReloadTransition();
            }
        }
Beispiel #3
0
        private static void LoadResources(MetroContentControl metroWrapper)
        {
            var dynamycResources = new[]
            {
                "pack://application:,,,/MahApps.Metro;component/Styles/Colours.xaml",
                "pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml",
                "pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml",
                "pack://application:,,,/MahApps.Metro;component/Styles/Accents/Blue.xaml",
                "pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml",
                "pack://application:,,,/MahApps.Metro;component/Styles/Controls.AnimatedTabControl.xaml",
                "pack://application:,,,/VSTalk;component/Styles/ButtonStyle.xaml"
            };

            foreach (var resource in dynamycResources)
            {
                var rDictionary = new ResourceDictionary();
                rDictionary.Source = new Uri(resource);
                metroWrapper.Resources.MergedDictionaries.Add(rDictionary);
            }
        }
Beispiel #4
0
        /// <summary>
        /// Called by package when creating a new tool window to set
        /// window content and pass on a Package ref
        /// </summary>
        /// <param name="userControl"></param>
        public void SetContent(UserControl userControl)
        {
            var addinContainer = ((FrameControl)_control).AddinContainer;

            //if control is alredy exist in container we do nothing

            if (addinContainer.Children.OfType <MetroContentControl>()
                .Select(wrapper => wrapper.Content)
                .Contains(userControl))
            {
                return;
            }
            Caption = ExtractName(userControl);

            var metroWrapper = new MetroContentControl();

            LoadResources(metroWrapper);

            metroWrapper.Content = userControl;

            addinContainer.Children.Add(metroWrapper);
        }
 public static void SetOnDataContextChanged(MetroContentControl element, bool value)
 {
     element.SetValue(OnDataContextChangedProperty, value);
 }
 public static bool GetOnDataContextChanged(MetroContentControl element)
 {
     return((bool)element.GetValue(OnDataContextChangedProperty));
 }
Beispiel #7
0
 private static void ReloadDataContextChanged(MetroContentControl sender, DependencyPropertyChangedEventArgs e)
 {
     ((MetroContentControl)sender).Reload();
 }
Beispiel #8
0
 public static void SetMetroContentControl(UIElement element, MetroContentControl value)
 {
     element.SetValue(MetroContentControlProperty, value);
 }
Beispiel #9
0
        private void ShowWindow(lgsv.MenuItem mi)
        {
            XmlDocument xdoc = new XmlDocument();

            xdoc.LoadXml(mi.InvokingConfig);
            XmlNodeList xlist   = xdoc.GetElementsByTagName("DSPUSERCONTROL");
            string      dllPath = "";
            string      dllName = "";

            try
            {
                //if (!IsOpenTab(xlist.Item(0).ChildNodes[1].InnerText))
                {
                    dllPath = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
                    dllName = xlist.Item(0).ChildNodes[0].InnerText;
                    dllPath = System.IO.Path.Combine(dllPath, dllName + ".dll");
                    Assembly ass = Assembly.LoadFrom(dllPath);
                    Type     t   = ass.GetType(xlist.Item(0).ChildNodes[1].InnerText);

                    foreach (MetroTabItem obj in this.tblMainRegion.Items)
                    {
                        if (obj.Content != null && obj.Content.GetType() == t)
                        {
                            obj.IsSelected = true;
                            return;
                        }
                    }
                    ConstructorInfo constructors = null;
                    Type[]          ts           = null;
                    object[]        parms        = null;
                    if (xlist.Item(0).ChildNodes[2].InnerText == "")
                    {
                        ts    = new Type[] { };
                        parms = new object[] { };
                    }
                    else
                    {
                        string[] parmlist = xlist.Item(0).ChildNodes[2].InnerText.Split(new char[] { ',' });
                        ts    = new Type[parmlist.Length];
                        parms = new object[parmlist.Length];
                        for (int i = 0; i < parmlist.Length; i++)
                        {
                            ts[i]    = Type.GetType(parmlist[i].Split(new char[] { ':' })[1]);
                            parms[i] = Convert.ChangeType(parmlist[i].Split(new char[] { ':' })[2], ts[i]);
                        }
                    }
                    constructors = t.GetConstructor(ts);
                    MetroContentControl f = constructors.Invoke(parms) as MetroContentControl;
                    if (f != null)
                    {
                        MetroTabItem tabitem = new MetroTabItem();
                        tabitem.Header  = mi.Name;
                        tabitem.Content = f;

                        tabitem.CloseTabCommand = CloseTabCommand;

                        if (!this.tblMainRegion.Items.Contains(tabitem))
                        {
                            this.tblMainRegion.Items.Add(tabitem);
                        }
                        tabitem.IsSelected = true;
                    }
                }
            }
            catch (FileNotFoundException fe)
            {
                MessageBox.Show("未找到" + dllPath);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }