我需要从Silverlight中的代码预填充组合框,其值为1-10,默认情况下所选值应为3。我该怎么办?
private int _Rounds=3;
[RequiredField]
[MultipleChoice]
public int Rounds
{
get { return this._Rounds; }
set
{
if (this._Rounds != value)
{
this.ValidateProperty("Rounds", value);
this._Rounds = value;
this.RaisePropertyChanged("Rounds");
}
}
}
答案 0 :(得分:2)
只是一个简单的示例,指出您正确的方向,但为您的ViewModel添加了可能的选项:
private readonly IEnumerable<int> roundOptions = Enumerable.Range(1, 10);
public IEnumerable<int> RoundOptions
{
get
{
return roundOptions;
}
}
然后绑定你的xaml:
<ComboBox SelectedValue="{Binding Rounds, Mode=TwoWay}" ItemsSource="{Binding RoundOptions}" />
这为ComboBox添加了RoundOptions
中包含的可能选项,然后说明使用Rounds
绑定使TwoWay
变量在ViewModel和UI之间保持同步。如果要在ViewModel中将圆形选项更新为不同的选项集,我会使用ObservableCollection
代替。
至少这是基于您的问题文本。我不知道[MultipleChoice]
属性的用途是什么。