0

Windows Phone 8 でのプログラミングは初めてです。「The Binding」を勉強しています。Slider のプロパティ「Value」をバインドしようとしましたが、アプリケーションを実行しても変化が見られません。

XAML コードは次のとおりです。

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
    <StackPanel>
        <Slider Minimum="1" Maximum="100" Value="{Binding Valor}" />
    </StackPanel>
</Grid>

ViewModelBase クラスは次のとおりです。

public class VMBase : INotifyPropertyChanged {
    public event PropertyChangedEventHandler PropertyChanged;

    public VMBase() {}

    public void RaisePropertyChanged(string PropertyName) {
        if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs(PropertyName));
    }
}

ViewModel クラスは次のとおりです。

public class VMSlider : VMBase {
    private int _valor;

    public VMSlider() {
        _valor = 43;
    }

    public int Valor {
        get { return _valor; }
        set { 
            _valor = value;
            RaisePropertyChanged("Valor");
        }
    }
}

XAML y のコード ビハインド クラスで、次のように記述します。

this.DataContext = new ViewModel.VMSlider();

理由を言う必要があります。

ありがとうございました。

4

1 に答える 1

2

SliderコントロールのValueプロパティのタイプはDoubleです。Valorは間違ったタイプの値であるため、バインディングは機能しません。

値コンバーターまたはを実装する必要がありますchange Valor to a Double

于 2013-02-25T09:26:39.650 に答える