2012-03-09 37 views
-1
<TextBlock Name="currency" TextWrapping="Wrap" VerticalAlignment="Center"/> 

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

我正在使用上面的代碼在WP7應用程序中將一個字段的屬性綁定到另一個字段。wp7中一個字段與另一個字段的綁定屬性

我想從後端執行類似的任務。有什麼建議麼??

+0

你是什麼意思與來自後端的類似任務? – GeertvdC 2012-03-09 07:40:45

+0

你想要做什麼?你的意思是將一個字段的名稱動態綁定到另一個字段(後端?? !!)?它最終的目的是什麼? – 2012-03-09 07:57:26

+1

如果你想綁定一個對象的屬性到另一個,你可能會看'依賴屬性' – Ku6opr 2012-03-09 08:09:00

回答

0

我得到了我的解決方案爲:VAR B =新的Binding {的ElementName = 「貨幣」,路徑=新的PropertyPath( 「文本」)}; Textblock txt = new TextBlock(); txt.SetBinding(TextBlock.TextProperty,b);

1

綁定正在指定的數據上下文中工作。您可以將佈局根的數據上下文設置爲頁面實例,然後您可以綁定到任何屬性。 (DataContext是通過子FrameworkElements繼承的。)如果希望綁定在您從代碼更改屬性時更新其值,則需要實現INotifyPropertyChanged接口或使用Dependency屬性。

<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時間,這更有意義,如果你用的DataTemplates顯示模型對象。

(我打這個手機上,希望它編譯。)

相關問題