public FrameworkElement BuildElement(ValueContainer value, bool editable) { FrameworkElement elem = BuildElement(value); elem.IsEnabled = editable; elem.IsVisibleChanged += (s, e) => { value.Inactive = !elem.IsVisible; }; return elem; }