C#代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
//
using System.ComponentModel;
namespace imgButton
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
int i = 0;
MyData m_Data = new MyData();
public MainWindow()
{
InitializeComponent();
//建立绑定
Binding myBind = new Binding();
myBind.Source = m_Data;
myBind.Path = new PropertyPath("Text");
textBlock1.SetBinding(TextBlock.TextProperty, myBind);
}
private void button1_Click(object sender, RoutedEventArgs e)
{
m_Data.Text = i.ToString();
i++;
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
button1.DataContext = m_Data;
label1.DataContext = m_Data;
m_Data.Text = "你好";
}
}
/// <summary>
/// 数据类
/// </summary>
public class MyData:INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private String m_Text;
public String Text
{
get
{
return m_Text;
}
set
{
m_Text = value;
if (PropertyChanged != null)
{
PropertyChanged(this,new PropertyChangedEventArgs("Text"));
}
}
}
}
}
XAML代码
<Window x:Class="imgButton.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:imgButton"
Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded">
<Grid>
<Image Height="150" HorizontalAlignment="Left" Margin="148,71,0,0" Name="image1" Stretch="Fill" VerticalAlignment="Top" Width="200" />
<Label
Content="{Binding Path=Text}"
Height="28" HorizontalAlignment="Left" Margin="225,137,0,0" Name="label1" VerticalAlignment="Top" />
<Button
Content="{Binding Path=Text}"
Height="23" HorizontalAlignment="Left" Margin="208,261,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" />
<TextBlock Name="textBlock1" Height="23" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="240,103,0,0"/>
</Grid>
</Window>
搜索
复制