有一個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;
}
}