将WinForms控件属性绑定到多个对象属性

3

我正在寻求一种解决方案,将Windows表单控件(按钮或标签的文本)的属性通过格式化字符串绑定到一个或多个对象的多个属性上。基本上,按钮上显示的文本应该像“静态文本$1更多静态文本$2”这样,其中$1绑定到对象的属性,$2绑定到同一对象或不同对象的其他属性。是否有简单的方法来完成这个任务?

3个回答

1
你可以将Property1和Property2封装在第三个属性中,该属性接受并返回格式化的字符串。
public string EncapsulatingProperty
{
    get { return "static text" + property1 + "more" + property2; }
    set { /* Parse the static text into the two variables */ }
}

你最好使用string.Format。 - jmservera
很不幸,“静态文本”对于对象来说是未知的。我希望能够在建立绑定时定义它。当然,我可以实现一个属性或方法,以便将静态文本传递给对象,但如果$1绑定到与$2绑定到的不同对象的属性,则无法正常工作。 我考虑编写一个“Combiner”类,该类绑定到(两个)对象的属性,并具有返回格式化字符串的属性,但我希望可能已经存在这样的现有解决方案。 - Jan Traenkner
我认为你所希望的那种东西在框架中不存在。 - Eric J.

0

0

如果你正在处理WPF/Silverlight的用户体验,我相信你可以编写一个ValueConverter来处理数据的正确显示... 在某些情况下,还可以将值进行转换。


1
他正在使用WinForms(根据问题标题)。 - Eric J.
是的...一年后,我意识到我错读了问题。抱歉Eric J. - Richard B

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接