プロパティStateTrigger
にバインドする簡単なものを作成しました。、およびFrameworkElement
Width
の 3 つの依存関係プロパティがあります。それらのタイプは、したがってです。MinValue
MaxValue
Element
double
double
FrameworkElement
そして、バインディングの順序によっては、機能する場合と機能しない場合があることに気付きました。
これはうまくいきます。
<local:ElementWidthTrigger MaxValue="1000"
MinValue="800"
Element="{Binding ElementName=LayoutRoot}" />
そして、これはそうではありません。
<local:ElementWidthTrigger Element="{Binding ElementName=LayoutRoot}"
MaxValue="1000"
MinValue="800" />
この 2 つのサンプルの唯一の違いは、Element
プロパティ バインディングの順序であることに注意してください。
ElementWidthTrigger
各依存関係プロパティのプロパティ変更コールバックがあります。そして、Element
一番上にあるときは、コールバックが何があっても呼び出されません。
x:Bind
使用されている順序に関係なくこの問題を解決しますが、疑問が残ります。Element
バインディングの順序に応じてプロパティがバインドに失敗する理由を説明できる人はいますか?
Windows 10 1803 ビルド 17134.320 で実行されています。
実際のサンプル プロジェクトは、ここにあります。