private void SetFontStaticFontFamilies(NamedFontFamily value, FontFamilyControlData fontdata) { if (value != null && fontdata != null) { var matchFont = fontdata.FontFamilies.Where(f => f.Name == value.Name && f.IsRecent).FirstOrDefault(); if (matchFont != null) { var index = fontdata.FontFamilies.IndexOf(matchFont); if (index != 0) { fontdata.FontFamilies.Move(index, 0); this.PerformRecent(fontdata); this.SaveRecentFont(); } } else { if (fontdata.FontFamilies.Count(f => f.IsRecent) >= 5) { fontdata.FontFamilies.RemoveAt(4); } fontdata.FontFamilies.Insert(0, new NamedFontFamily { Name = value.Name, IsRecent = true, FontFamily = value.FontFamily }); this.PerformRecent(fontdata); this.SaveRecentFont(); } } }
public void SetSelectedFamily(NamedFontFamily namedFontFamily) { if (_selectedFamily != namedFontFamily) { if (!_isSettingFamily && _selectedFamily != null) { _isSettingFamily = true; this.SetFontStaticFontFamilies(namedFontFamily, this); _isSettingFamily = false; } _selectedFamily = namedFontFamily; FirePropertyChanged("SelectedFamily"); } }