0

エキスパンダーの外側からバインドしようとしているExpasndersコンテンツテンプレート内にテキストボックスがありますが、実際には不可能です。エキスパンダー内に次のような別のテキストボックスがあります。

エキスパンダーの外側のこのマークアップの正確な複製、エキスパンダーの内側のテキストボックスは、txtTitle が変更されたときにテキスト プロパティを更新しますが、外側のテキストボックスはそうではありません。

いくつかのサンプル xaml を使用して説明しようと思います (おかしく聞こえます)。

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

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

問題は、ExpandertxtBox がコンテンツテンプレート内にあるためにバインディングが機能しないことです。外部からバインドしようとしています。どうすればアクセスできますか?正しいバインディングパスは何ですか?

4

1 に答える 1

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);
}
于 2010-08-20T22:52:51.287 に答える