コントロールがバインドされているプロパティがビューモデルに存在しない場合、ビューのコントロールを非表示にすることができるかどうかは疑問でした。例えば、私が持っている場合は、以下:MVVM - バインドされたプロパティが存在しないときにコントロールを隠す
<CheckBox Content="Quote"
IsChecked="{Binding Path=IsQuoted}" />
私はIsQuotedプロパティは、ビューモデルに存在し、単にそのインスタンス内のコントロールを非表示にしないことをXAMLで検出できます。
私は基本的に、ビューモデルのコレクションを移動し、それぞれのビューを表示するウィザードダイアログを作成しています。コレクション内の一部のビューモデルでは、「IsQuoted」プロパティが存在し、一部のプロパティは存在しません。
現在のビューモデルにプロパティがある場合に表示されるこれらのビューの外にチェックボックスを表示したい場合は、ビューモデルには表示されません。すべてのビューモデルは共通の基底クラスから派生していますが、「ShowQuoted」プロパティなどを追加することで、ベースを乱雑にすることはありません。
思考?そして、事前に感謝します...
クールです。私はWPFを4年間使用していましたが、FallbackValueプロパティに気づいたことはありませんでした(または、私はその時点で注意を払っていませんでした)。これは便利です。 – MetalMikester
より明示的にしたい場合は、DependencyProperty.UnsetValue http://msdn.microsoft.com/en-us/library/system.windows.dependencyproperty.unsetvalue%28v=vs.110%29を確認することができます。 aspx –