2010-11-07 133 views
0

我有兩個文本框,第一個綁定到tabControl的Item Header。 我在後面的代碼中做到了。綁定不起作用

問題是綁定只能在第一次成功。

XAML:

<StackPanel> 
    <TabControl x:Name="tabcontrol"> 
     <TabControl.Items> 
      <TabItem> 
      </TabItem> 
     </TabControl.Items> 
    </TabControl> 
    <TextBox Text="5" x:Name="txtbox"></TextBox> 
    <TextBox Text="dsfdf"></TextBox> 
</StackPanel> 

代碼背後:

public partial class Window4 : Window 
{ 
     public Window4() 
     { 
     InitializeComponent(); 
     var b = new Binding { Mode = BindingMode.OneWay, Source = txtbox.Text }; 
     ((TabItem)tabcontrol.Items[0]).SetBinding(HeaderedContentControl.HeaderProperty, b); 
     } 
    } 

回答

0

更改SourceTextBox,並設置PathText

var b = new Binding { Mode = BindingMode.OneWay, Source = txtbox, Path = "Text" }; 
((TabItem)tabcontrol.Items[0]).SetBinding(HeaderedContentControl.HeaderProperty, b); 

否則,您已設置源的當前值爲txtbox.Text,並且對它的任何更改都不會被拾取,因爲源(字符串)不支持更改通知。

+0

Path = new PropertyPath(「Text」),但是謝謝! – Erez 2010-11-07 16:01:02