什么是.Net中的依赖属性(特别是在WPF上下文中).常规财产有什么区别?
依赖项属性的创建方式与属性相同.
是否仅在创建自定义控件时使用依赖项属性?
我什么时候应该在WPF中使用依赖属性?
它们是静态的,因此与使用.NET属性相比,我们在内存上节省了很多.在.NET属性上使用依赖项属性的其他好处是:1)不需要检查线程访问2)提示要包含的元素等...
所以我似乎总是应该在我使用WPF的项目中使用依赖属性?
也许对于帮助类的一些微不足道的属性来说,我可以摆脱.NET属性......
任何人都可以解释如何实现依赖属性?它只是一个在基类中声明的静态字典,并将给定实例的引用作为键吗?我在Internet上找不到任何关于此的资源...非常
感谢
我很难找出依赖属性的正当理由.为什么System.Controls.TextBox"Text"属性是依赖属性而不是普通属性?作为依赖财产有什么好处?
我想要完成的一件事是向我的UserControl添加一个ValidationRules属性,该属性将包含其他验证规则.像这儿:
<customControls:RequiredTextBox.ValidationRules>
<validators:NotNullOrEmptyValidationRule ErrorMessage="FirstName cannot be null or empty"/>
</customControls:RequiredTextBox.ValidationRules>
Run Code Online (Sandbox Code Playgroud)
问题是我不确定ValidationRules属性是DependencyProperty还是普通属性.
上面的代码给出了以下错误:
{"Cannot add element to 'ValidationRules'; the property value is null. Error at object 'LearningWPF.ValidationRules.NotNullOrEmptyValidationRule' in markup file 'LearningWPF;component/addcustomerwindow.xaml' Line 35 Position 66."}
Run Code Online (Sandbox Code Playgroud)
这是ValidationRules属性:
public static readonly DependencyProperty ValidationRulesProperty =
DependencyProperty.Register("ValidationRules",
typeof (Collection<ValidationRule>), typeof (RequiredTextBox),
new FrameworkPropertyMetadata(null));
public Collection<ValidationRule> ValidationRules
{
get { return (Collection<ValidationRule>)GetValue(ValidationRulesProperty); }
set { SetValue(ValidationRulesProperty, value); }
}
Run Code Online (Sandbox Code Playgroud) 我在google上搜索了如何开始使用WPF/silverlight中使用的依赖属性,但是没有了解依赖属性,从初学者的角度来看,任何人都可以告诉我它,以便我得到一些关于它的想法并在我的项目中使用它
提前致谢.
任何人都可以给我简单的应用程序的链接或代码示例,以简单的方式解释什么是依赖属性是??? 我会非常感激的