private void UpdateListContainer(ListViewItem item, Character c) { item.Height = PrintModel.GlyphSize; Grid g = (Grid)item.ContentTemplateRoot; g.ColumnDefinitions[0].Width = new GridLength(PrintModel.GlyphSize); TextBlock t = (TextBlock)g.Children[0]; t.Height = t.Width = PrintModel.GlyphSize; TextBlock unicodeId = ((TextBlock)((StackPanel)g.Children[1]).Children[0]); unicodeId.SetVisible(PrintModel.Annotation != GlyphAnnotation.None); unicodeId.Text = c.GetAnnotation(PrintModel.Annotation); TextBlock description = ((TextBlock)((StackPanel)g.Children[1]).Children[1]); try { description.Text = PrintModel.Font.GetDescription(c); } catch { } IXamlDirectObject o = _xamlDirect.GetXamlDirectObject(t); CharacterGridView.SetGlyphProperties(_xamlDirect, o, PrintModel.GetTemplateSettings(), c); foreach (var r in g.GetFirstLevelDescendantsOfType <Rectangle>()) { r.SetVisible(PrintModel.ShowBorders); } }