Связывание не работает - PullRequest
       1

Связывание не работает

0 голосов
/ 07 ноября 2010

У меня есть два текстовых поля, первое из которых я привязал к заголовку элемента tabControl's Item.Я сделал это в коде позади.

Проблема в том, что привязка выполняется только в первый раз.

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);
      }
   }

1 Ответ

0 голосов
/ 07 ноября 2010

Измените Source на TextBox и установите Path на Text:

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

В противном случае вы установили для источника текущее значение txtbox.Text, и любые изменения в нем не будут приняты, поскольку источник (строка) не поддерживает уведомления об изменениях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...