Ich versuche, einen PropertyChangedCallback zu UIElement.RenderTransformOriginProperty hinzuzufügen. Eine Ausnahme wird ausgelöst, wenn ich versuche, die PropertyMetadata zu überschreiben.
Ich habe MSDN und Google durchsucht, und alles, was ich gefunden habe, ist cette . DependencyPropertyDescriptor.AddValueChanged wird an irgendeiner Stelle in diesem Beitrag vorgeschlagen, aber das wird nicht mein Problem lösen, da dies nicht eine pro-Instanz-Callback ist.
Ich verstehe nicht, was diese Ausnahme überhaupt bedeutet. Weiß jemand, was ich falsch mache?
public class foo : FrameworkElement
{
private static void Origin_Changed( DependencyObject d,
DependencyPropertyChangedEventArgs e)
{ }
static foo()
{
PropertyMetadata OriginalMetaData =
UIElement.RenderTransformOriginProperty.GetMetadata(
typeof(FrameworkElement));
/*An exception is thrown when this line is executed:
"Cannot change property metadata after it has been associated with a property"*/
OriginalMetaData.PropertyChangedCallback +=
new PropertyChangedCallback(Origin_Changed);
UIElement.RenderTransformOriginProperty.OverrideMetadata(
typeof(foo), OriginalMetaData);
}
}