在 WPF 中,有没有一种方法可以在不需要支持字段的情况下绑定属性?

在下面的示例中,支持字段不执行任何类型的计算,而只是返回一个值。有没有办法在不需要支持字段的情况下编写这个?在这种情况下,我并没有真正看到拥有一个的目的。如果我的 XAML 直接绑定到 Age,我真的不知道为什么我还需要 _age。


private int _age;

public int Age

{

    get {return _age; }

    set

    {

        _age = value;

        OnPropertyChanged("Age");

    }

}


private void ButtonClickIncrease(object sender, RoutedEventArgs e)

{

    Age++;

}

private void ButtonClickDecrease(object sender, RoutedEventArgs e)

{

    Age--;

}


不负相思意
浏览 87回答 1
1回答

千巷猫影

尽管支持字段不执行任何计算,但它用于存储Age属性的值。您需要它来返回 getter 中的值并在 setter 中分配新值。如果你没有它,getter 会返回什么?二传手会存储什么?也许您习惯了自动属性,您似乎不使用支持字段。当您的 getter 和 setter 只返回和分配属性时,自动属性是一种简写。但是,因为您正在执行其他操作(即OnPropertyChanged("Age")),所以您不能使用自动属性,因此必须使用支持字段对 getter 和 setter 进行手动编码。请参阅自动实现的属性。
打开App,查看更多内容
随时随地看视频慕课网APP