【发布时间】:2012-01-26 10:14:23
【问题描述】:
我有一个枚举:
public enum UnitOfMeasure
{
Meters,
Kilometers,
Yards,
Miles,
Time
}
我想将它绑定到 ListBox(实际上是 Telerik RadListPicker,但它的工作原理相同):
<telerikInput:RadListPicker
Header="Measure work in:"
ItemsSource="{Binding WorkUnitOfMeasure}"
HeaderStyle="{StaticResource HeaderStyle}"
x:Name="workUnitsListPicker"
Margin="18">
</telerikInput:RadListPicker>
我的视图模型:
/// <summary>
/// The <see cref="WorkUnitOfMeasure" /> property's name.
/// </summary>
public const string WorkUnitOfMeasurePropertyName = "WorkUnitOfMeasure";
private ObservableCollection<Enum<UnitOfMeasure>> _workUnitOfMeasure;
/// <summary>
/// Gets the WorkUnitOfMeasure property.
/// Changes to that property's value raise the PropertyChanged event.
/// This property's value is broadcasted by the Messenger's default instance when it changes.
/// </summary>
public ObservableCollection<Enum<UnitOfMeasure>> WorkUnitOfMeasure
{
get
{
return _workUnitOfMeasure;
}
set
{
if (_workUnitOfMeasure == value)
{
return;
}
var oldValue = _workUnitOfMeasure;
_workUnitOfMeasure = value;
RaisePropertyChanged(WorkUnitOfMeasurePropertyName);
}
}
在我的构造函数中,我尝试了类似这样的变体:
WorkUnitOfMeasure = new ObservableCollection<Enum<UnitOfMeasure>>();
我似乎无法让列表框绑定到 Enum。我知道我遗漏了一些简单的东西,但我想不通。
【问题讨论】:
-
到底是
Enum<UnitOfMeasure>?不确定 WP7 是否有 ObjectDataSource,但如果有,这是 stackoverflow.com/questions/6145888/… 的欺骗 -
@JeffCren:你是绑定单个枚举还是 UnitOfMeasure 枚举列表?
-
我正在尝试将枚举列表绑定到下拉列表。
-
@Will:WP7 没有 ObjectDataSource。我在发布我的问题之前看到了这个问题。
标签: telerik mvvm-light windows-phone-7