zoukankan      html  css  js  c++  java
  • SL复习笔记之平稳转型——基础篇(五、数据绑定)

    关于对象绑定,简单的先提一下,后面再详细的讲解。

    一、将对象的属性绑定到SL控件的属性之上,对象可以放在Collection集合中。

          可以将“对象”绑定到UI元素的“DataContext”属性,例如是,TextBox,然后在Textbox的“Text”属性中再设置“{Binding NotePad,Mode=TwoWay}”

    二、绑定数据的三种模式:OneTime(只改变一次)、OneWay(单向改变)、TwoWay(双向改变)。

          不多做解释了,看代码。

          public class NotepadItem:INotifyPropertyChanged
        {
            public string _title;
            public string Title
            {
                get { return _title; }
                set
                {
                    _title = value;
                    NotifyPropertyChanged("Title");
                }
            }

            public string _intro;
            public string Intro
            {
                get { return _intro; }
                set
                {
                    _intro = value;
                    NotifyPropertyChanged("Intro");
                }
            }

            public string _cont;
            public string Cont
            {
                get { return _cont; }
                set
                {
                    _cont = value;
                    NotifyPropertyChanged("Cont");
                }
            }


            public event PropertyChangedEventHandler PropertyChanged;
            private void NotifyPropertyChanged(string propertyName)
            {
                if (null != PropertyChanged)
                {
                    PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
                }
            }
        }

          

    前台XAML:

    <ListBox x:Name="FirstListBox" Margin="0,0,-12,0" ItemsSource="{Binding Items}" SelectionChanged="FirstListBox_SelectionChanged" >
                        <ListBox.ItemTemplate>
                            <DataTemplate>
                              <StackPanel Margin="0,0,0,17" Width="432">
                                    <TextBlock Text="{Binding Title}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
                                    <TextBlock Text="{Binding Intro}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
                              </StackPanel>
                            </DataTemplate>
                        </ListBox.ItemTemplate>
                    </ListBox>

    这里对象“NotepadItem”实现了“INotifyPropertyChanged”接口,当其属性改变时,触发“PropertyChanged”事件。这里牵扯到“委托”、“事件”、“接口”。理解起来有点抽象,在下面再详细的作总结。

    最新资料大全传送阵

  • 相关阅读:
    HDU 5273 Dylans loves sequence 暴力递推
    HDU 5285 wyh2000 and pupil 判二分图+贪心
    HDU 5281 Senior's Gun 贪心
    HDU 5651 xiaoxin juju needs help 逆元
    HDU 5646 DZY Loves Partition
    HDU 5366 The mook jong
    HDU 5391Z ball in Tina Town 数论
    HDU 5418 Victor and World 允许多次经过的TSP
    HDU 5642 King's Order dp
    抽屉原理
  • 原文地址:https://www.cnblogs.com/ssol/p/2138410.html
Copyright © 2011-2022 走看看