C# 数据绑定没有';不更新值
我正在玩数据绑定,我创建了一个用户控件(视图),如下所示:C# 数据绑定没有';不更新值,c#,xaml,data-binding,windows-phone-8,C#,Xaml,Data Binding,Windows Phone 8,我正在玩数据绑定,我创建了一个用户控件(视图),如下所示: <UserControl> <Grid x:Name="LayoutRoot" Background="{StaticResource PhoneChromeBrush}" DataContext="{Binding Source={StaticResource ViewModelSampleDataSource}}" > <Grid.RowDefinitio
<UserControl>
<Grid x:Name="LayoutRoot"
Background="{StaticResource PhoneChromeBrush}"
DataContext="{Binding Source={StaticResource ViewModelSampleDataSource}}"
>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<TextBox Text="{Binding Model.Var1, Mode=TwoWay}" InputScope="Number" Grid.Row="0" FontSize="90"/>
<TextBlock Text="{Binding Model.Var2}" Grid.Row="1" FontSize="90" />
</Grid>
这是ViewModel
public class ViewModelSample
{
private static ModelSample model=new ModelSample();
public static ModelSample Model
{
get { return model; }
set { model = value; }
}
}
我的问题是:当我更改var1的值(使用文本框)时,我想更新var2的值,我该怎么做?谢谢用于OnPropertyChanged的字符串值必须与属性名而不是字段名匹配。修复后,只需从Var1的setter内部更改Var2就可以了。用于OnPropertyChanged的字符串值必须与属性名匹配,而不是与字段名匹配。修复后,只需从Var1的setter内部更改Var2就可以了。更改此设置
private double var1;
public double Var1
{
get { return var1; }
set
{
var1 = value;
OnPropertyChanged("var");
}
}
private double var2;
public double Var2
{
get { return var2; }
set
{
var2 = value;
OnPropertyChanged("var2");
}
}
对此
private double var1;
public double Var1
{
get { return var1; }
set
{
var1 = value;
OnPropertyChanged("Var");
}
}
private double var2;
public double Var2
{
get { return var2; }
set
{
var2 = value;
OnPropertyChanged("Var2");
}
}
更改的提升属性的属性名必须区分大小写。更改此属性
private double var1;
public double Var1
{
get { return var1; }
set
{
var1 = value;
OnPropertyChanged("var");
}
}
private double var2;
public double Var2
{
get { return var2; }
set
{
var2 = value;
OnPropertyChanged("var2");
}
}
对此
private double var1;
public double Var1
{
get { return var1; }
set
{
var1 = value;
OnPropertyChanged("Var");
}
}
private double var2;
public double Var2
{
get { return var2; }
set
{
var2 = value;
OnPropertyChanged("Var2");
}
}
更改的提升属性的属性名必须区分大小写。请尝试以下操作:
private double var1;
public double Var1
{
get { return var1; }
set
{
var1 = value;
OnPropertyChanged("Var1");
}
}
private double var2;
public double Var2
{
get { return var2; }
set
{
var2 = value;
OnPropertyChanged("Var2");
}
}
请注意,OnPropertyChanged字符串必须与属性名称匹配,请尝试以下操作:
private double var1;
public double Var1
{
get { return var1; }
set
{
var1 = value;
OnPropertyChanged("Var1");
}
}
private double var2;
public double Var2
{
get { return var2; }
set
{
var2 = value;
OnPropertyChanged("Var2");
}
}
请注意,OnPropertyChanged字符串必须与属性的名称相匹配,很高兴它有所帮助。如果你认为它解决了你的问题,别忘了把它标记为答案。很高兴它有帮助。如果您认为它解决了您的问题,请不要忘记将其标记为答案。