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); }
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(); } }
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); } }
/// <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)); }
private static void ReloadDataContextChanged(MetroContentControl sender, DependencyPropertyChangedEventArgs e) { ((MetroContentControl)sender).Reload(); }
public static void SetMetroContentControl(UIElement element, MetroContentControl value) { element.SetValue(MetroContentControlProperty, value); }
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()); } }