How to data bind multiple values to a single TextBlock.Text in WP7?

杀马特。学长 韩版系。学妹 提交于 2019-12-19 15:40:30

问题


How can I bind 2 properties to a single TextBlock.Text (eg. first name and last name or current value and max value)?

something like:

// IValueConverter
public object Convert( .... )
{
    return string.Format("{0} (max: {1})", currentValue, maxValue);
}

The problem is I want TextBlock.Text to be updated when currentValue or maxValue has changed. So how can I listen to changes from 2 or more properties using data binding?

Is there another way than usering IValueConverter?


回答1:


Silverlight 3 (on which the Windows Phone 7 framework is built) doesn't support MultiBinding, which is what you would use to achieve what you need. However, there is a workaround solution that you can use described in the post MultiBinding for Sivlerlight 3, which should also work on WP7.

Alternatively, you could extend your view model (or at least the properties that you are exposing) to expose a property that aggregates your values and raises property change notification when either changes.




回答2:


If you are working with WP7.1 (I know you mentioned WP7), take a look at the Cimbalino Windows Phone Toolkit. It offers a MultiBindingBehavior.



来源:https://stackoverflow.com/questions/4968172/how-to-data-bind-multiple-values-to-a-single-textblock-text-in-wp7

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!