0
我是新手,在Windows Phone 8编程。我正在学习“绑定”。我尝试绑定Slider的属性“Value”,但是在运行应用程序时,我没有看到任何更改。没有约束价值Windows Phone 8滑块的属性
的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();
我需要说明原因。
谢谢。
在连接调试器的情况下运行时,Visual Studio的“输出”窗口中是否存在绑定错误? – 2013-02-24 20:35:51
当你说“你没有看到任何改变”时,你检查的内容没有改变?你是否从代码中设定了Valor,并希望滑块改变,反之亦然? – 2013-02-24 21:39:19
另外,根据你什么时候新建VMSlider,你可能想在VMSlider的构造函数中使用public setter设置_valor,这样属性更改通知就会触发(如果绑定已经在那个时候设置)。 – 2013-02-24 21:40:52