public void UpdateFromFuzzy(Utility.Match m)
 {
     if (m == null)
     {
         SearchScore = 0;
         ResetRichTitle();
     }
     else
     {
         SearchScore = m.Score;
         UpdateRichTitleFromFuzzy(m);
     }
 }
        void UpdateRichTitleFromFuzzy(Utility.Match match)
        {
            var inlines = new ObservableCollection <Inline>();
            int lastEnd = 0;

            foreach (var m in match.GetContinuousMatches())
            {
                inlines.Add(new Run(Title.Substring(lastEnd, m.Start - lastEnd)));
                var colored = new Run(Title.Substring(m.Start, m.Length));
                colored.Foreground = (SolidColorBrush)Properties.Settings.Default["Accent"];
                inlines.Add(colored);
                lastEnd = m.Start + m.Length;
            }
            if (lastEnd != Title.Length)
            {
                inlines.Add(new Run(Title.Substring(lastEnd)));
            }
            RichTitle = inlines;
        }