导出 (0) 打印
全部展开
此文章由人工翻译。 将光标移到文章的句子上,以查看原文。
译文
原文

BindingExpression 类

包含与 Binding 对象内的单个绑定有关的信息。

命名空间:  System.Windows.Data
程序集:  System.Windows(在 System.Windows.dll 中)

public sealed class BindingExpression : BindingExpressionBase

BindingExpression 类型公开以下成员。

  名称说明
公共属性受 Silverlight for Windows Phone 支持DataItem获取此 BindingExpression 使用的绑定源对象。
公共属性受 Silverlight for Windows Phone 支持ParentBinding返回当前 BindingExpressionBinding 对象。
页首

  名称说明
公共方法受 Silverlight for Windows Phone 支持Equals(Object)确定指定的 Object 是否等于当前的 Object (继承自 Object。)
受保护的方法受 Silverlight for Windows Phone 支持Finalize允许对象在垃圾回收对 Object 进行回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
公共方法受 Silverlight for Windows Phone 支持GetHashCode用作特定类型的哈希函数。 (继承自 Object。)
公共方法受 Silverlight for Windows Phone 支持GetType获取当前实例的 Type (继承自 Object。)
受保护的方法受 Silverlight for Windows Phone 支持MemberwiseClone创建当前 Object 的浅表副本。 (继承自 Object。)
公共方法受 Silverlight for Windows Phone 支持ToString返回表示当前对象的字符串。 (继承自 Object。)
公共方法受 Silverlight for Windows Phone 支持UpdateSource将当前绑定目标值发送到 TwoWay 绑定中的绑定源属性。
页首

多个绑定目标可以使用一个 Binding 对象。 然而,BindingExpression 类表示单个绑定。 您可以通过调用绑定目标的 FrameworkElement.GetBindingExpression 方法,从绑定目标中检索 BindingExpression 实例。 然后,您可以使用 BindingExpression 来调用 UpdateSource 方法。 这可用于控制何时将值从绑定目标复制到绑定源。 有关更多信息,请参见 数据绑定

下面的代码示例演示如何使用此方法。


<TextBox x:Name="textBox1" Text="{Binding Test, Mode=TwoWay, UpdateSourceTrigger=Explicit}" />
<Button Content="Update" Click="Button_Click" />



Public Class TestData
    Private testValue As String
    Public Property Test() As String
        Get
            Return testValue
        End Get
        Set(ByVal value As String)
            testValue = value
        End Set
    End Property
End Class

Private data As TestData

Public Sub New()

    InitializeComponent()

    data = New TestData
    With data
        .Test = "one"
    End With

    textBox1.DataContext = data

End Sub

Private Sub Button_Click(ByVal sender As Object, _
    ByVal e As RoutedEventArgs)

    Dim expression As BindingExpression = _
        textBox1.GetBindingExpression(TextBox.TextProperty)
    MessageBox.Show("Before UpdateSource, Test = " & data.Test)
    expression.UpdateSource()
    MessageBox.Show("After UpdateSource, Test = " & data.Test)

End Sub



public class TestData
{
    public String Test { get; set; }
}

TestData data;

public MainPage()
{
    InitializeComponent();
    data = new TestData { Test = "one" };
    textBox1.DataContext = data;
}

private void Button_Click(object sender, RoutedEventArgs e)
{
    BindingExpression expression = textBox1.GetBindingExpression(TextBox.TextProperty);
    MessageBox.Show("Before UpdateSource, Test = " + data.Test);
    expression.UpdateSource();
    MessageBox.Show("After UpdateSource, Test = " + data.Test);
}


Silverlight

受以下版本支持:5、4、3

Silverlight for Windows Phone

受以下版本支持:Windows Phone OS 7.1、Windows Phone OS 7.0

有关 Silverlight 支持的操作系统和浏览器的列表,请参见 支持的操作系统和浏览器

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

社区附加资源

添加
显示:
© 2014 Microsoft