繁体   English   中英

silverlight / wp7:修改绑定到XAML的字符串

[英]silverlight/wp7: modify string being bound to XAML

Silverlight的/ WP7:

我有一个从JSON查询反序列化的对象列表。 此列表将绑定到XAML中的ListBox。 但是,我想编辑绑定到UI之前返回的字符串之一。 我做了一些搜索,发现了这个解决方案 ,但是对于提出的解决方案我不太清楚:

string _value;
public string Value { get { return _value; } set { _value = value; NotifyPropertyChanged("Value"); NotifyPropertyChanged("ValueFormatted"); } }
public string ValueFormatted { get { return "Static Text: " + _value; } }

什么是NotifyPropertyChanged? 我对Silverlight / C#相当陌生,只看到INotifyPropertyChanged接口。 如何实施此解决方案?

您尝试解决的问题实际上不需要INotifyPropertyChanged接口。 如果删除NotifyPropertyChanged方法和INotifyPropertyChanged接口,然后绑定到ValueFormatted属性,它将很好地工作。

但是,在绑定到UI的类上实现INotifyPropertyChanged通常是一个不错的主意:

“ INotifyPropertyChanged接口用于通知属性已更改,因此强制绑定对象采用新值。”

这基本上意味着,如果在绑定对象之后更改对象的属性,则这些值将反映在您的UI中。

Silverlight展示提供了一个很好的INotifyPropertyChanged示例

您需要在接口上实现INotifyPropertyChanged对象。 您看到的NotifyPropertyChanged仅有一个引发PropertyChanged事件的方法调用。

INotifyPropertyChanged上的MSDN页面实际上有一个很好的示例。 一旦实现INotifyPropertyChanged,就可以做到这一点。 该示例甚至具有NotifyPropertyChanged方法,与您的解决方案片段相同。

您看起来像想要一个属性转换器,您可以在xaml标记中指定一个转换器,然后在绘制内容时首先将其发送到您的转换器类,并使用返回值代替原始值。

我目前不在家里,但应该在一个小时左右,并会以一个示例进行更新。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM