内部エキスパンダーのコンテンツエンプレートを制御する方法
-
29-09-2019 - |
質問
私はエキスパンダーの外側から縛ろうとしているエクスペラダースコンテンツの内部にテキストボックスを持っていますが、それは本当に不可能です、私はこのように見えるエキスパンダーの内部に別のテキストボックスを持っています:
また、エキスパンダーの外側のこのマークアップの正確な複製、エキスパンダーの内部のテキストボックスは、txttitleが変更されたときにテキストを更新します。
いくつかのサンプルXAMLで説明しようとします(楽しいと思います)。
<TextBox Text="{Binding ElementName=ExpandertxtBox, Path=Text}" />
<toolkit:Expander>
<toolkit:Expander.ContentTemplate>
<TextBox Name="ExpandertxtBox" />
</toolkit:Expander.ContentTemplate>
</toolkit:Expander>
問題は、expandertxtboxがコンテンツメプレート内にあり、外部からバインドしようとしているため、バインディングが機能しないことです。
解決
私は自分の問題を処理するためにこの方法を作成することになりました
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);
}
所属していません StackOverflow