【发布时间】:2011-11-11 06:28:55
【问题描述】:
我有两个从标准 WPF 控件派生的简单自定义控件。即
internal class CustomLabel : Label { ... }
internal class CustomButton : Button { ... }
(好吧,实际上我使用 WPF Toolkit 中的 GridViewHeaderRowPresenter 和 DataGrid,而不是 Label 和 Button)。
在 xaml 中,它们位于同一层次结构级别。
<Grid>
<CustomLabel />
<CustomButton />
</Grid>
CustomButton 控件应该以某种方式响应 CustomLabel 的事件(例如 SizeChanged 事件)。实现这一点的最佳方法是什么?
到目前为止,我决定遍历逻辑树以在 CustomLabel 的事件处理程序中找到 CustomButton 并更改一些属性。有没有更好的办法?
请注意,我使用的是 .Net 3.5,因此无法使用 x:Reference 标记扩展。
【问题讨论】:
-
是的,可视树遍历是选项。