SilverlightのオブジェクトにNULLを設定すると、オブジェクトプロパティへのデータバインディング
-
14-11-2019 - |
質問
擬似コードサンプル:
<UserControl>
<ComboBox SelectedValuePath="Id" SelectedValue="{Binding CurrentObject.Id, Mode=TwoWay}" ItemSource="{Binding Groups}"/>
<ComboBox SelectedValuePath="Name" SelectedValue="{Binding CurrentObject.Status, Mode=TwoWay}" ItemSource="{Binding Statuses}"/>
</UserControl>
.
<MyObject>
タイプのオブジェクトをこのUserControlに渡して、それを修正してから保存します。これを行った後、CurrentObject = null
で状態をリセットしています。2回目のパスでは、それらのコンボボックスには選択された値がありませんが、実際のデータがあります。どうやって修正できますか?
正しい解決策はありません
他のヒント
データバインディングのデータソースをいくつかのオブジェクトに設定する必要があります。それ以外の場合は、データバインディングは機能しません。NULLへのバインドは決して動作しません。
NULLにCurrentObjectを設定しないでくださいが、CurrentObject.IDを0に設定し、それを知っているとすぐに最終値にリセットします(2パス目)。オブジェクトがInotifyPropertyChangedを実装すると、ユーザーインターフェイスの値が更新されます。
所属していません StackOverflow