XAMLで次のCollectionViewSource定義を取得しました。
<UserControl.Resources>
<CollectionViewSource x:Key="PersonsViewSource" Source="{Binding AvailablePersons}">
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="Surname" Direction="Ascending" />
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
</UserControl.Resources>
このCVSにバインドされたコンボボックスを取得し、次のようなコードからビューにアクセスしたいと思います。
(Resources["PersonsViewSource"] as CollectionViewSource).View
ただし、コンストラクターでアクセスしようとしてもInitializeComponent()
、Loaded event
ハンドラーのビューとソースはまだnull
です。
バインディングがすでに行われているにもかかわらず、アプリケーションがブラウザーに表示され、ブレークポイントをどこかに置いた場合、ビューとソースはnullではなくなります。
では、ソースはいつ正確に設定されますか?アプリケーションをロードする段階で、どこからビューにアクセスできますか?
静的リソースバインディングはいつ設定されますか?これは、実際にはビューソースに関するものではない一般的なバインディングの質問ですか?