さて、これを使用するとうまくいきます:
<Page
d:DataContext="{d:DesignInstance Type=Models:ViewModel, IsDesignTimeCreatable=True}"
そして、これを使用するとうまくいきます:
<d:Page.DataContext>
<Models:ViewModel/>
</d:Page.DataContext>
後者の方が簡単なアプローチでもあることをお伝えしなければなりません。これは、デザイナーでデータ ソースをセットアップするときに Visual Studio が生成するものでもあります。また、完全に型指定されたバインディングも提供します。しかし、どちらでも受け入れられます。
別のメモ。CollectionViewSource のソースにオブジェクトを直接設定する正当な理由がわかりません。通常、CVS の Source プロパティを ViewModel 内のプロパティにバインドします。しかし、あなたの質問を考えると: 方法は次のとおりです。
<CollectionViewSource
x:Name="TestCVS" Source="{Binding}"
d:DataContext="{Binding Source={d:DesignInstance Type=Models:ViewModel, IsDesignTimeCreatable=True}}"/>
デザイナーでソースにバインドすると、際限のない問題が発生しました。しかし、私はこのように決してしないことを知っていたので、それは私をもっといらいらさせました. これが私がやりたかったことです:
<d:Page.DataContext>
<Models:ViewModel/>
</d:Page.DataContext>
<Page.Resources>
<CollectionViewSource x:Name="TestCVS" Source="{Binding}" />
</Page.Resources>
あなたのアプローチには大きな理由があるはずです!
頑張ってください!