1.绑定控件属性的值
<
TextBlock
Text
="
{Binding Value, Mode=OneWay, ElementName=MyNewSlider}
"
/>
2.
前台代码:
1
<
Grid
x:Name
="LayoutRoot"
>
2 < StackPanel x:Name ="myStackPanel" Orientation ="Vertical" Width ="200" >
3 < TextBlock x:Name ="Title"
4 Text =" {Binding Title,Mode=OneWay} "
5 />
6 < TextBlock x:Name ="Author"
7 Text =" {Binding Author,Mode=OneWay} "
8 />
9 < ListBox x:Name ="Chapters"
10 Height ="60"
11 ItemsSource =" {Binding Chapters,Mode=OneWay} "
12 />
13 < CheckBox x:Name ="YesPublished"
14 Content ="Published?"
15 IsChecked =" {Binding IsPublished ,Mode=TwoWay} "
16 />
17 < Button x:Name ="btnChange" Content ="Change Book" />
18 </ StackPanel >
19 </ Grid >
2 < StackPanel x:Name ="myStackPanel" Orientation ="Vertical" Width ="200" >
3 < TextBlock x:Name ="Title"
4 Text =" {Binding Title,Mode=OneWay} "
5 />
6 < TextBlock x:Name ="Author"
7 Text =" {Binding Author,Mode=OneWay} "
8 />
9 < ListBox x:Name ="Chapters"
10 Height ="60"
11 ItemsSource =" {Binding Chapters,Mode=OneWay} "
12 />
13 < CheckBox x:Name ="YesPublished"
14 Content ="Published?"
15 IsChecked =" {Binding IsPublished ,Mode=TwoWay} "
16 />
17 < Button x:Name ="btnChange" Content ="Change Book" />
18 </ StackPanel >
19 </ Grid >
Book类:
public
class
Book
{
// 必须为get和set访问器,否则不改变;
public string Title { get ; set ; }
public string Author { get ; set ; }
public bool IsPublished{ get ; set ; }
public List < string > Chapters { get ; set ; }
}
{
// 必须为get和set访问器,否则不改变;
public string Title { get ; set ; }
public string Author { get ; set ; }
public bool IsPublished{ get ; set ; }
public List < string > Chapters { get ; set ; }
}
后台代码:
1
public
partial
class
MainPage : UserControl
2 {
3 Book b1;
4 Book b2;
5 public MainPage()
6 {
7 InitializeComponent();
8 Loaded += new RoutedEventHandler(MainPage_Loaded);
9 }
10
11 void MainPage_Loaded( object sender, RoutedEventArgs e)
12 {
13 this .SetBookData();
14 myStackPanel.DataContext = b1;
15 this .btnChange.Click += new RoutedEventHandler(btnChange_Click);
16 }
17 private void SetBookData()
18 {
19 this .b1 = new Book()
20 {
21 Title = " Title1 " ,
22 Author = " Author1 " ,
23 IsPublished = true ,
24 Chapters = new List < string > () { " b1_1 " , " b1_2 " , " b1_3 " }
25 };
26 this .b2 = new Book()
27 {
28 Title = " Title2 " ,
29 Author = " Author2 " ,
30 IsPublished = false ,
31 Chapters = new List < string > () { " b2_1 " , " b2_2 " , " b2_3 " }
32 };
33 }
34
35 void btnChange_Click( object sender, RoutedEventArgs e)
36 {
37 if ((Book)myStackPanel.DataContext == this .b1)
38 myStackPanel.DataContext = this .b2;
39 else
40 myStackPanel.DataContext = this .b1;
41 }
42 }
2 {
3 Book b1;
4 Book b2;
5 public MainPage()
6 {
7 InitializeComponent();
8 Loaded += new RoutedEventHandler(MainPage_Loaded);
9 }
10
11 void MainPage_Loaded( object sender, RoutedEventArgs e)
12 {
13 this .SetBookData();
14 myStackPanel.DataContext = b1;
15 this .btnChange.Click += new RoutedEventHandler(btnChange_Click);
16 }
17 private void SetBookData()
18 {
19 this .b1 = new Book()
20 {
21 Title = " Title1 " ,
22 Author = " Author1 " ,
23 IsPublished = true ,
24 Chapters = new List < string > () { " b1_1 " , " b1_2 " , " b1_3 " }
25 };
26 this .b2 = new Book()
27 {
28 Title = " Title2 " ,
29 Author = " Author2 " ,
30 IsPublished = false ,
31 Chapters = new List < string > () { " b2_1 " , " b2_2 " , " b2_3 " }
32 };
33 }
34
35 void btnChange_Click( object sender, RoutedEventArgs e)
36 {
37 if ((Book)myStackPanel.DataContext == this .b1)
38 myStackPanel.DataContext = this .b2;
39 else
40 myStackPanel.DataContext = this .b1;
41 }
42 }