SilverlightアプリケーションをMetroに移植しようとしていますが、{Binding PropertyName, RelativeSource={RelativeSource TemplatedParent}}
へのバインディングをControlTemplateで設定すると、{TemplateBinding PropertyName}
は機能しません。RelativeSourceへのバインドTemplatedParentはControlTemplate内では機能しません
これらはどちらもSilverlightアプリケーション内で動作しますが、RelativeSource構文を使用してMode=TwoWay
の使用を許可する必要があります。
ControlTemplate内でTwoWayバインディングを使用するには、何が必要ですか?
SL5、WP7、Metroの間でコントロールロジックのコードベースを共有しようとしています。そのため、ControlTemplate内にUI関連のものを保持しようとしていました。つまり、私はOnApplyTemplateでBindingを提案して設定してみましたが、ListBox.SelectedItemPropertyへのTwoWayバインディングは機能していないようで、PropertyChangedCallbackを起動しません。たぶんこれはListBoxコントロールの問題です。 –
私は、カスタムContentControlだけを含む新しいアプリケーションでこれを複製しようとしました。ふりだしに戻る! –
ListBoxにSelectionChangedイベントハンドラを追加し、手動で更新することはできます。私は次の週に私がオフになっているWin8デベロッパーキャンプにこれを持ってきて、彼らが何を言わなければならないかを見てみるしかありません! –