【问题标题】:Controls interaction question控制交互问题
【发布时间】: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 标记扩展。

【问题讨论】:

  • 是的,可视树遍历是选项。

标签: wpf xaml .net-3.5


【解决方案1】:

您可以在您的代码中为您的控件命名并使用该名称访问它们。如果您想仅在 XAML 中执行此操作,请考虑数据绑定以及使用此方法是否可以实现您的目标。

【讨论】:

    猜你喜欢
    • 2023-03-30
    • 1970-01-01
    • 2012-11-17
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多