private static void OnDataChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { HexView ths = d as HexView; IEnumerable <byte> data = ths.Data; if (data == null) { ths.m_byteCount = 0; } else { // get total byte count ICollection <byte> coll = data as ICollection <byte>; if (coll != null) { ths.m_byteCount = coll.Count; } else { IEnumerator <byte> en = data.GetEnumerator(); ths.m_byteCount = 0; while (en.MoveNext()) { ++ths.m_byteCount; } } } }
private static object OnFontFamilyCoerce(DependencyObject d, Object baseValue) { HexView hv = d as HexView; FontFamily ff = baseValue as FontFamily; if (hv.IsFixedPitch(ff)) { return(baseValue); // proposed FontFamily ok } else { return(new FontFamily(m_fontFamilyName)); // return default font family } }