2010-08-19 22 views
0

J'ai une zone de texte à l'intérieur d'un contentemplate Expasnders que j'essaye de lier de l'extérieur de l'expander, mais ce n'est pas vraiment possible, j'ai une autre zone de texte dans l'expander ressemblant à ceci: comment lier pour contrôler dans contentemplate

et une copie exacte de ce balisage extérieur de l'extension, la zone de texte à l'intérieur des mises à jour d'extension, il est en mode texte proeprty lorsque txtTitle est modifié, l'un ne l'extérieur pas comment puis-je lier à txtTitle de l'extérieur du expandeur ??

Je vais essayer de l'illustrer avec un exemple de xaml (des sons amusants prononcés).

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

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

Le problème est que le travail de liaison parce que l'habitude ExpandertxtBox est à l'intérieur d'un contentemplate, et je suis en train de se lier à l'extérieur, alors comment puis-je accéder, quel est le bindingpath correct?

Répondre

0

J'ai fini la création de cette méthode pour gérer mon problème

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