これは意味があると思います。CollectionViewSourceはXAMLではDataBoundできませんが、CodeBehindでは使用できますか?
私は、Windows Phone Databoundアプリケーションテンプレートを使用しているWindows Phone 7アプリを持っています。
ViewModelにバインドされたListBoxをソートする必要があるため、XAMLでCollectionViewSourceを作成し、ListBox ItemSourceをCollectionViewSourceに設定しました。デザイナーではすべてがうまくいき、SampleDataが素晴らしいことが分かります。私はアプリを実行したときただし、例外がスローされます。 LINENUMBER = 33 LinePosition = 31
System.Windows.Markup.XamlParseExceptionは、未処理の メッセージ= AG_E_PARSER_BAD_PROPERTY_VALUE [::33ポジション31行目でしたListBoxの
<CollectionViewSource Source="{Binding Items}" x:Key="ItemsSort" >
<CollectionViewSource.SortDescriptions>
<compMod:SortDescription PropertyName="Order" Direction="Ascending"/>
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
:問題のXAMLはこれです
<Grid>
<ListBox x:Name="MainListBox" ItemsSource="{Binding Source={StaticResource ItemsSort}}">
<ListBox.ItemTemplate>
<DataTemplate>
は今、私はCollectionViewSourceからソース=「{バインディングアイテムを}」を削除し、代わりにコードを経由して、それを設定した場合:
CollectionViewSource itemsView = this.Resources["ItemsSort"] as CollectionViewSource;
itemsView.Source = App.ViewModel.Items;
すべてが、実行時に動作しますが、もちろん、私が持っているサンプルデータは表示されません。設計時に。
なぜこのような状況が存在するのか理解できません。設計時にサンプルデータを表示し、XAMLを使用してデータバインディングを構成する柔軟性を得たいと思います。
感謝をサポートしていません。私はそれを試み、IDEはCollectionViewSourceはListBox.ItemsSource –