【问题标题】:How do you bind 2 controls?你如何绑定2个控件?
【发布时间】:2017-12-13 01:31:07
【问题描述】:

在我的应用程序中,有一个自定义控件的功能(如TextboxLabels、Textblocks、Buttons 等),此功能界面位于TabItem 内.假设我想修改位于另一个容器中的Button A。在功能界面,我将它的Foreground属性设置为White,此时我不知道Button是否更好看,所以我必须去包含Button的容器。

我想做的是,我想在功能界面内创建一个“预览”Control(与实际目标相同)。我希望对此“预览”控件的任何更改都反映到实际目标Control。有了这个,我不需要导航到目标Control 所在的位置。

当我在谷歌上使用标题(“你如何绑定 2 个控件)”时,所有结果实际上都给了我“如何将一个控件的单个 property 绑定到另一个控件的 property”。我想要的是你如何绑定/链接 2 Controls 从字面上看,我的意思是,我想将 Control A 的所有属性绑定到 Control B 的所有属性。

将它们一一绑定是一种(累人的)方式。还有其他方法可以实现吗?

我更喜欢代码隐藏方法。

【问题讨论】:

  • 是的,你可以这样做。我做到了。将很快发布代码。
  • 你到底想做什么(为什么)?可能有更简单的方法。
  • @ManfredRadlwimmer 嗨,我已经更新了我的答案,请阅读:D
  • @Wahyu 哦,这听起来与您原来的问题不同。所以您只是想将多个控件绑定到相同的数据,或者创建设置的预览?
  • @Wahyu 好吧,你为什么不实例化一个新的 Button/Label/Whatever 并将设置应用于该控件?老实说,我没有看到问题所在。您可以在您的问题中添加minimal reproducible example 吗?就像现在一样,我不确定是什么阻止了你。

标签: c# wpf binding controls


【解决方案1】:

没有“快速”的方法可以做到这一点,您必须根据您的业务逻辑一一绑定。
此外,就性能而言,绑定并不便宜,因此绑定控件的每个属性,即使是您不明确需要的属性,也是一个警告信号。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-11
    • 2020-06-27
    相关资源
    最近更新 更多