【发布时间】:2014-12-22 13:45:27
【问题描述】:
我需要确定我的窗口上的控件是否声明了特定的依赖属性。下面是一个带有 DP DemandRole 的按钮示例。可以为各种控件类型声明 DP,而不仅仅是按钮。我正在尝试枚举窗口上的所有控件并仅返回那些声明了 DP DemandRole 的控件。
<Button x:Name="_reset"
sec:SecurityAction.DemandRole="Admin,Engineer,SuperUser,Technician,Supervisor"
Content="_Reset"
Visibility="Visible"
Command="{Binding ResetPasswordCommand}" />
我可以获得特定类型的依赖属性,但它只返回该类型的属性并且包含我为控件定义的 DP。
static IEnumerable<FieldInfo> GetDependencyProperties(Type type)
{
var dependencyProperties = type.GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static)
.Where(p => p.FieldType.Equals(typeof(DependencyProperty)));
return dependencyProperties;
}
知道如何在控件的特定实例上获取所有 DP 吗?
谢谢,
兰斯
【问题讨论】:
-
那么简而言之,您需要类型及其基类型的所有依赖属性吗?是吗?
标签: c# wpf dependency-properties