我正在开发一个标记扩展,它只在分配给 DataContext 依赖属性时才应该工作。
这是由扩展以下列方式强制执行的:
public abstract class DataContextAssignableExtensionBase : MarkupExtension
{
private void ThrowOnUnsupportedProperty(IServiceProvider serviceProvider)
{
var dataContextProp = TargetProperty as DependencyProperty;
if (dataContextProp == null)
throw new ...
if (!(dataContextProp.Name.Equals("DataContext") || dataContextProp.Name.Equals("RuntimeDataContext")))
throw new ...
}
}
现在,DataContext 很可能将永远保持名为 DataContext,但仍然......
我想要一种更“安全”的方式来确保将扩展分配给 DataContext 依赖属性。
帮助将不胜感激!