【问题标题】:WPF bind visibility of element to another element with attached property of specifc valueWPF 将元素的可见性绑定到具有特定值附加属性的另一个元素
【发布时间】:2013-09-13 13:20:59
【问题描述】:

我有以下 xaml 代码:

<Window.Resources>
    <BooleanToVisibilityConverter x:Key="b2v" />
</Window.Resources>

我想将 RichTextBox 的可见性绑定到 CheckBox 的选中状态。

<RichTextBox Visibility="{Binding IsChecked,ElementName=chk,Converter={StaticResource b2v}}" />

目前没有问题。但问题是我的 CheckBox 没有 Name 属性(我不能给它命名,因为它会随着时间的推移而被复制)。

因此,我有一个 CheckBox 的附加属性

<CheckBox local:MyUIElementAttributes.AttachedElementType="TitleCheckbox"/>

现在我想使用这个附加属性来识别我的 RichTextBox 的可见性要绑定到的 CheckBox。

我该怎么做?我必须绑定到附加属性,并且必须检查该属性的值才能设置可见性。

谢谢!

【问题讨论】:

    标签: wpf binding attached-properties


    【解决方案1】:

    如果我理解正确,您希望使用 Attached Property 的值作为 Binding.ElementName 属性的值。来自 MSDN 的 Binding.ElementName Property 页面:

    资产价值

    感兴趣元素的 Name 属性或 x:Name 指令的值。只有通过 RegisterName 将元素注册到适当的 NameScope 时,才能引用代码中的元素。如需更多信息,请参阅WPF XAML Namescopes

    阅读此页面和链接页面后,似乎您可以使用NameScope.RegisterName 方法而不是设置Name 属性。您应该然后能够毫无问题地在Binding.ElementName 属性中引用使用此方法设置的名称。

    免责声明:我之前没有尝试过,可能有误。

    【讨论】:

      猜你喜欢
      • 2013-11-05
      • 2018-06-04
      • 2016-06-28
      • 1970-01-01
      • 2020-07-07
      • 2015-08-30
      • 2010-09-30
      • 2023-04-04
      • 2011-05-05
      相关资源
      最近更新 更多