Default 使用绑定目标的默认 Mode 值。 每个依赖项属性的默认值都不同。 一般情况下,用户可编辑控件属性(例如文本框和复选框的属性)默认为双向绑定,而多数其他属性默认为单向绑定。 确定依赖项属性绑定在默认情况下是单向还是双向的编程方法是:使用 GetMetadata 获取属性的属性元数据,然后检查 BindsTwoWayByDefault 属性的布尔值。
OneTime 当应用程序启动或数据上下文更改时,更新绑定目标。 此绑定类型适用于以下情况:使用当前状态的快照适合使用的或数据状态实际为静态的数据。 如果要从源属性初始化具有某个值的目标属性,并且事先不知道数据上下文,则也可以使用此绑定类型。 此绑定类型实质上是 OneWay 绑定的简化形式,在源值不更改的情况下可以提供更好的性能。
OneWay 当绑定源(源)更改时,更新绑定目标(目标)属性。 此绑定类型适用于绑定的控件为隐式只读控件的情况。 例如,可以绑定到如股市代号之类的源。 或者,可能目标属性没有用于进行更改(例如表的数据绑定背景色)的控件接口。 如果无需监视目标属性的更改,则使用 OneWay 绑定模式可避免 TwoWay 绑定模式的系统开销。
OneWayToSource 当目标属性更改时更新源属性。
TwoWay 导致对源属性或目标属性的更改可自动更新对方。 此绑定类型适用于可编辑窗体或其他完全交互式 UI 方案。
无论是目标属性还是源属性,只要发生了更改,TwoWay 就会更新目标属性或源属性。
OneWay 仅当源属性发生更改时更新目标属性。
OneTime 仅当应用程序启动时或 DataContext 进行更改时更新目标属性。
OneWayToSource 在目标属性更改时更新源属性。
Default :使用目标属性的默认 Mode 值。http://msdn.microsoft.com/zh-cn/library/system.windows.data.bindingmode.aspx

解决方案 »

  1.   

    自己写个demo就差不多能理解了
      

  2.   

    关键我用了twoway和oneway没有区别
      

  3.   

    你可以先说一下你的理解,这个或许很简单,然后说一下你的demo是怎么做的。这样就可以知道你是否理解正确,以及你的demo问题在哪里。
      

  4.   

    需要大家给我代码,我只是做了 INotifyPropertyChanged接口
     public event PropertyChangedEventHandler PropertyChanged;
            string name = "张三";        public string Name
            {
                get { return name; }
                set 
                { 
                    name = value;
                    if (PropertyChanged != null)
                    {
                        PropertyChanged(this, new PropertyChangedEventArgs("Name"));
                    }
                }
            }
            int age = 24;        public int Age
            {
                get { return age; }
                set 
                { 
                    age = value;
                    if (PropertyChanged != null)
                    {
                        PropertyChanged(this, new PropertyChangedEventArgs("Age"));
                    }
                }
            }这绑定在WPF界面上面使用绑定不需要设置Mode 方式
    我需要的是大家能够给我看下大家怎么理解绑定的
      

  5.   

    菜鸟的理解是, oneway是在数据源发生了意外的情况下twoway是在双方有一方发发了意外的情况下
    而你说的情况可能是,oneway有twoway的效果是因为oneway那边你有提交数据变更的动做。。
    twoway是在当焦点离开输入框的情况下发生的
      

  6.   

    随便一个类 里面属性ID Name
    继承INotifyPropertyChanged用这个类创建一个集合list  然后绑定到下拉框   
     然后 一个文本框 一个按钮  点击按钮 new那个类  文本框的值给Name  ID随便写 然后list.add(新类)oneway list多了数据  界面不变
    twoway  list多了数据  界面也多了那条