在自定义控件中,我有一个派生自DependencyObject的类,并且有一个名为MaxIdealWidth的依赖项属性。我有几个自定义控件做了一些非常奇怪的测量/安排,他们都以某种方式使用这个属性,但不是在绑定中。
我的问题是,当第一次绘制所有内容时,它运行良好。但是,当一个自定义控件更改MaxIdealWidth时,其他任何控件都不会进行测量/排列。我可以理解为什么会发生这种情况,但我需要强制所有自定义控件同时进行测量/排列。
查看文档,这看起来是一种很有前途的方法,但是我完全不知道如何在实践中应用它。从我的情况看如何使用它似乎没有记录。有人能告诉我如何从XAML或代码隐藏中应用AffectsArrange来从自定义控件中指示DataContext上的依赖属性应该导致度量/安排吗?
答案 0 :(得分:0)
您可以使用FrameworkPropertyMetadata
类而不是PropertyMetadata
来执行依赖项属性注册的最后一个参数。在那里你设置了你喜欢的所有位:
public static readonly DependencyProperty ArrowEndsProperty =
DependencyProperty.Register("your name",
typeof(<class>), typeof(<owner class>),
new FrameworkPropertyMetadata(<initial value>,
FrameworkPropertyMetadataOptions.AffectsMeasure));