0

我需要从 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");
                    }
                }
            }
4

1 回答 1

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在 ViewModel 和 UI 之间保持变量同步。TwoWay如果要在 ViewModel 中将圆形选项更新为不同的选项集,我会使用 anObservableCollection来代替。

至少这是基于您的问题文本。我不知道该[MultipleChoice]属性的用途。

于 2013-07-29T20:21:17.000 回答