【问题标题】:WP7 UserControl with conditional Converter?带有条件转换器的 WP7 UserControl?
【发布时间】:2011-01-24 17:48:59
【问题描述】:
我正在开发一个 UserControl 来操作数字数据,但我希望能够为每个 UC 实例指定数字格式字符串(甚至是转换器本身)。
我尝试向我的 UC 添加一个属性并将其绑定到转换器,但遇到了错误。
在 WP7 上运行的 SL 版本中似乎无法绑定到转换器。我读到 SL 中的自定义控件支持更多自定义。
但是,我真的需要深入到支持这个要求吗?
【问题讨论】:
标签:
silverlight
user-controls
windows-phone-7
converter
【解决方案1】:
如果通过绑定到转换器,你的意思是绑定到转换器参数,你不能在 SL4,甚至 WPF 中这样做!
我认为您将不得不在后面的代码中做更多的工作,可能使用视图模型。您可以将视图模型本地化为仅此用户控件(请参阅the following article),因此无需在整个应用程序中使用 MVVM。
【解决方案2】:
您可以使用转换器执行任何您无法在底层视图模型中执行的操作。事实上,如果您在数据模板中为列表中的项目添加转换器,这会影响滚动性能,因此最好使用视图模型。
鉴于您的需求的动态性质,我认为尝试使用视图模型以外的方法可能会让您头疼。如果您还没有使用 MVVM 框架/工具包,您可能需要查看 Laurent Bugnion 的 MVVM Light Toolkit。