как связать, чтобы контролировать внутри contentemplate экспандеров - PullRequest
0 голосов
/ 19 августа 2010

У меня есть текстовое поле внутри шаблона Expasnders, к которому я пытаюсь привязать извне расширитель, но это не возможно, у меня есть другое текстовое поле внутри расширителя, похожее на это:

и точный дубликат этой разметки вне расширителя. Текстовое поле внутри расширителя обновляет свой текст при изменении txtTitle, внешнее не так, как мне связать txtTitle извне расширителя ??

Я попытаюсь проиллюстрировать это некоторым примером xaml (звучит весело).

<TextBox Text="{Binding ElementName=ExpandertxtBox, Path=Text}" />

<toolkit:Expander>
<toolkit:Expander.ContentTemplate>
<TextBox Name="ExpandertxtBox" />
</toolkit:Expander.ContentTemplate>
</toolkit:Expander>

Проблема в том, что привязка не работает, потому что ExpandertxtBox находится внутри contentemplate, и я пытаюсь выполнить привязку извне, так как я могу получить к ней доступ, каков правильный путь привязки?

1 Ответ

0 голосов
/ 21 августа 2010

Я закончил создание этого метода для решения моей проблемы

private void SetFilterBinding(object ctrl, object value, FilterOperator fo, string ctrlproperty, string dbproperty)
{
    var fd = new FilterDescriptor(dbproperty, fo, value);
    BindingOperations.SetBinding(fd, FilterDescriptor.ValueProperty, new Binding{ Path = new PropertyPath(ctrlproperty), Source = ctrl});
    nodeDomainDataSource.FilterDescriptors.Add(fd);
}
...