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