2010-08-19 121 views
0

我在Expasnders控制面板內部有一個文本框,我試圖從擴展器外部綁定,但這不是真的可能,我在擴展器內部有另一個文本框,如下所示: 如何綁定到控制擴展器內部的控制

和這個標記在擴展器外部的確切副本,當擴展器內部的文本框更新它的文本proeprty時,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裏面,我試圖從外部約束,所以我怎麼能訪問它,什麼是正確的bindingpath?

回答

0

我結束了創建這個方法來處理我的問題

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