<TextBlock Name="currency" TextWrapping="Wrap" VerticalAlignment="Center"/>
<TextBlock Margin="5,0" Text="{Binding Text, ElementName=currency" TextWrapping="Wrap" VerticalAlignment="Center" FontSize="22" />
我正在使用上面的代码在我的WP7应用程序中将一个字段的属性绑定到另一个字段。
我想从后端做类似的任务。任何建议??
答案 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);