UWP中將int類型的變量綁定到TextBlock的Text屬性

有一個Button控件和TextBlock控件, 將TextBlock的Text屬性與一個int屬性綁定,需要實現功能:每次點擊Button按鈕TextBlock的Text屬性數值加一。

其中MainPage.xaml如下,定義了兩個控件並將TextBlock的Text與Result綁定。

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <Grid.RowDefinitions>
            <RowDefinition Height="*"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <Button Grid.Row="0" 
                Content="Button1"
                Click="Button_Click"
                HorizontalAlignment="Center"
                VerticalAlignment="Center"/>
        <TextBlock 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;
        }
    }
發佈了26 篇原創文章 · 獲贊 4 · 訪問量 8237
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章