FrameworkElementFactoryはコード内に作成されたテキストボックスのように機能するので、xamlコードはなく、コード内にデータバインディングでこのテキストボックスを設定します。今私はこのテキストボックスのデータバインドを更新したいキーを押してください。私はこのLinkの添付された動作のための1つの方法を読んだが、xamlコードで動作するようだ。コードの背後にアタッチされた動作を設定する方法はありますか?WPFの背後にあるコードにEnterキーでデータバインドを更新する
ListBox DDF_List = new ListBox();
FrameworkElementFactory Editable_TextBox = new FrameworkElementFactory(typeof(TextBox));
Binding text_binding = new Binding("Value");
Editable_TextBox.SetBinding(TextBox.TextProperty, text_binding);
DataTemplate Text_Layout = new DataTemplate();
Text_Layout.VisualTree = Editable_TextBox;
DDF_List.ItemTemplate = Text_Layout;
おかげで、それは素晴らしい作品。しかし、Frameworkelementfactoryを使用して、このコンテキストの「itemNameTextBox」を置き換えることはできますか? –
@SamXia絶対に。 'InputBindingsManager.SetUpdatePropertySourceWhenEnterPressed()'への呼び出しは、あなたが必要とする私のコードの唯一の部分です。テキストボックスを渡しただけですが、作成しました。私はそれが「XAMLと完全に同等」であるという私の主張を正当化するために、すべてのことをやっただけです。ポイントを明確にするために更新します。 –
いいえ、私はFrameworkElementFactory型を入力にTextBox型に置き換えることを意味しますが、FrameworkElementFactoryがDependencyObjectではないことを教えてくれます。 –