wp7中一个字段与另一个字段的绑定属性

时间:2012-03-09 07:28:40

标签: windows-phone-7 binding

<TextBlock  Name="currency"  TextWrapping="Wrap" VerticalAlignment="Center"/>

<TextBlock Margin="5,0"  Text="{Binding Text, ElementName=currency" TextWrapping="Wrap" VerticalAlignment="Center" FontSize="22" />

我正在使用上面的代码在我的WP7应用程序中将一个字段的属性绑定到另一个字段。

我想从后端做类似的任务。任何建议??

2 个答案:

答案 0 :(得分:1)

绑定在指定的数据上下文中工作。您可以将布局根目录的数据上下文设置为页面实例,然后可以绑定到任何属性。 (DataContext通过子FrameworkElements继承。)如果希望绑定在从代码更改属性时更新其值,则需要实现INotifyPropertyChanged接口或使用依赖项属性。

<Grid x:Name="LayoutRoot">
    <TextBox Text="{Binding Test, Mode=TwoWay}" />
</Grid>

public class MainPage : PhoneApplicationPage, INotifyPropertyChanged
{
    private string test;
    public string Test
    {
        get { return this.test; }
        set
        {
            this.test = value;
            if (PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs("Test"));
        }
    }

    public MainPage()
    {
        InitializeComponents();
        LayoutRoot.DataContext = this;
    }

    public event PropertyChangedEventHandler PropertyChanged;
}

这是一个愚蠢的例子,因为您可以随时从MainPage访问TextBox,如果您使用DataTemplates显示模型对象,这更有意义。

(我在手机上打字,希望它能编译..)

答案 1 :(得分:0)

我的解决方案为:var b = new Binding {ElementName =“currency”,Path = new PropertyPath(“Text”)}; Textblock txt = new TextBlock(); txt.SetBinding(TextBlock.TextProperty,b);