我正在开发一个 Windows Phone 8 应用程序,它基本上是我现有 Silverlight 应用程序的一个端口。在 SL 版本的一个屏幕上,我有 10 个 ComboBox 控件,默认为未选择任何内容,迫使用户在保存项目之前进行选择。这很好用(这是我公司的错误跟踪应用程序,所以我希望用户被迫做出这些选择,否则他们将保留默认设置,这可能是不正确的)。
在 WP8 中,似乎希望我们使用 WPToolkit 中的 ListPicker 的权力(因为那里或默认控件中没有 ComboBox)。但是,这更像是一个支持 SelectedIndex 但不支持 SelectedValue 和 SelectedValuePath 的 ListBox。我一直在我的视图模型中使用索引属性(这是一种痛苦,因为模型加载异步,但我一直在解决这个问题..),但我必须将其默认为实际选项,这否定了强制选择的业务规则。
我也尝试过复制 ListPicker 的源代码并让它从 Selector 继承(基本控件只是从 ItemsControl 继承),但这不起作用,因为 Selector 构造函数是内部的。
看来我想做的是添加对 SelectedValue 和 SelectedValuePath 的支持。那可能吗?还是我以错误的方式解决这个问题?