UWP中将int类型的变量绑定到TextBlock的Text属性

有一个Button控件和TextBlock控件, 将TextBlock的Text属性与一个int属性绑定,需要实现功能:每次点击Button按钮TextBlock的Text属性数值加一。

其中MainPage.xaml如下,定义了两个控件并将TextBlock的Text与Result绑定。

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <Grid.RowDefinitions>
            "*"/>
            "*"/>
        Grid.RowDefinitions>
        <Button Grid.Row="0" 
                Content="Button1"
                Click="Button_Click"
                HorizontalAlignment="Center"
                VerticalAlignment="Center"/>
        Grid.Row="1"
                   Name="TestText"
                   HorizontalAlignment="Center"
                   VerticalAlignment="Center"
                   Text="{Binding Path=Result}"/>
    Grid>

要使绑定源可观察,应实现 Windows::UI::Xaml::Data::INotifyPropertyChanged

public sealed partial class MainPage : Page, INotifyPropertyChanged
    {
        private int result;
        public int Result
        {
            get
            {
                return result;
            }
            set
            {
                result = value;
                OnPropertyChanged();
            }
        }
        public event PropertyChangedEventHandler PropertyChanged = delegate { };
        private void OnPropertyChanged([CallerMemberName]string propertyName = null)
        {
                this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }

        public MainPage()
        {
            this.InitializeComponent();
            this.DataContext = this;
            Result = 0;
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            Result += 1;
        }
    }

你可能感兴趣的:(UWP)