Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 数据绑定没有';不更新值_C#_Xaml_Data Binding_Windows Phone 8 - Fatal编程技术网

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字符串必须与属性的名称相匹配

,很高兴它有所帮助。如果你认为它解决了你的问题,别忘了把它标记为答案。很高兴它有帮助。如果您认为它解决了您的问题,请不要忘记将其标记为答案。