How to override the TextProperty Metadata to set the UpdateSourceTrigger.PropertyChanged
by default while using the functionality from the base TextBox Class
TextBox.OnTextPropertyChanged
TextBox.CoerceText
methods, when both mentioned are private ?
public class MyTextBox : System.Windows.Controls.TextBox
{
static MyTextBox()
{
TextProperty.OverrideMetadata(typeof(TextBox), new FrameworkPropertyMetadata(
string.Empty, FrameworkPropertyMetadataOptions.Journal | FrameworkPropertyMetadataOptions.BindsTwoWayByDefault,
new PropertyChangedCallback(TextBox.OnTextPropertyChanged),
new CoerceValueCallback(TextBox.CoerceText), true, UpdateSourceTrigger.PropertyChanged));
...
You should be able to use the GetDefaultMetadata method which will give you access to the callbacks that refer to the private methods.
The following worked for me: