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>
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; }
}
后台代码:
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 }
前台代码:
浙公网安备 33010602011771号