protected override FrameworkElement BuildElement(ValueContainer value)
{
CheckBox cb = new CheckBox();
cb.Checked += (s, e) =>
{
value.Value = true;
};
cb.Unchecked += (s, e) =>
{
value.Value = false;
};
Action onValueChanged = () =>
{
cb.IsChecked = Convert.ToBoolean(value.Value);
};
value.ValueChanged += onValueChanged;
onValueChanged();
return cb;
}