【问题标题】:How to bind to a public class function in wpf如何绑定到 wpf 中的公共类函数
【发布时间】:2013-08-16 04:16:56
【问题描述】:

所以我一直在努力尝试让按钮的上下文显示基于布尔值的字符串(即当 bool 为 false 时为“Insert”,当 bool 为 true 时为“Remove”)。我写了一个简单的函数

public string MiniButtonText()
{
   if(GameInfo.IsMiniInserted == Visibility.Visible)
       return "Remove Mini";
   else
       return "Insert Mini";
}

我想调用并让它返回填充按钮的上下文属性。我该怎么做?此外,该函数不需要一直调用,只要 IsMiniInserted 属性发生更改即可。

该函数位于我的 MainWindow 类中,这是我当前正在运行/使用的窗口。

感谢您的帮助!

【问题讨论】:

    标签: c# wpf


    【解决方案1】:

    WPF 不支持绑定到方法

    将其更改为属性:

    public string MiniButtonText
    {
       get
       {
           return GameInfo.IsMiniInserted == Visibility.Visible ? "Remove Mini" : "Insert Mini";
       }
    }  
    

    【讨论】:

    • 请注意,“不支持”并不意味着“不可能”。您可以使用ObjectDataProvider 间接绑定到方法,但当然这里更简单的解决方案是绑定到属性。
    【解决方案2】:

    使用属性代替它的getter 中的简单计算。当IsMiniInserted值发生变化时,在两个属性上触发PropertyChanged

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-10
      • 2018-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-20
      • 2017-05-28
      相关资源
      最近更新 更多