Binding.FallbackValue
WinRT で動作をエミュレートする回避策はありますか?
1 に答える
1
添付プロパティで実行できます。WinRT の多くの制限は、WinRT で修正できることがわかりました。
私はコードを持っていませんが、これはどうですか:
<TextBox local:fallbackProperty="Text" local:fallbackPropertyValue="<NO BINDING SET"
Text="{Binding random}" />
添付されたプロパティ ハンドラーで、リフレクションを介して fallbackProperty をチェックアウトし、プロパティの変更をサブスクライブします。
リスナー = DependencyPropertyChangedListener.Create(this.myTextBox, "Text"); listener.ValueChanged += listener_ValueChanged;
0/null を受け取った場合は、Text プロパティから BINDING を交換できます。そして、それを fallbackPropertyValue に置き換えます。実際のバインドを追跡し、時間になったら元に戻すようにする必要があります。
このソリューションの制限は、UI 要素ごとに 1 つの fallbackValue しか使用できないことです。しかし、それは「フォールバック値のリスト」に簡単に拡張できます。構文だけでは、もはやそれほど便利ではありません。
残念なことに、WPF にはほとんどすべての機能が備わっており、最小限のハックが必要でした。
于 2013-03-29T10:30:51.350 に答える