Quand je change MainMenuViewModel dans Tutorial.Core d'utiliser un dictionnaire comme celui-ci:MvvmCross vNext: MonoDroid liant Dictionnaire clé similaire à WP7
`articles Dictionnaire publics {get; ensemble; } publique ICommand ShowItemCommand {{ obtenir return new MvxRelayCommand> ((type) => DoShowItem (type.Value)); }}
public void DoShowItem(Type itemType)
{
this.RequestNavigate(itemType);
}
public MainMenuViewModel()
{
Items = new Dictionary<string, Type>()
{
{"SimpleTextProperty", typeof(Lessons.SimpleTextPropertyViewModel)},
{"PullToRefresh", typeof(Lessons.PullToRefreshViewModel)},
{"Tip", typeof(Lessons.TipViewModel)},
{"Composite",typeof(Lessons.CompositeViewModel)},
{"Location",typeof(Lessons.LocationViewModel)}
};
}`
L'échantillon fonctionne comme prévu dans WP7, mais avec MonoDroid je reçois une erreur :: "MvxBind: Erreur: 2,71 problème vu lors de l'exécution obligatoire pour les articles au ItemsSource de - problème ArgumentException : pas de convertir des paramètres » parce que je pense KeyValuePair propriété clé provoque le problème:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res/Tutorial.UI.Droid"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="12dp"
android:orientation="vertical">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="View Model:"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
local:MvxBind="{'Text':{'Path':'Key'}}"
/>
</LinearLayout>
Merci d'avance pour votre aide.
Ok, je comprends l'erreur maintenant. Donc, je contourne le problème en utilisant List> au lieu du dictionnaire . –
Alphapage
Oui - juste regardé ceci. La motivation pour ne pas soutenir icollection et ienumerable semble bonne - fondamentalement ilist ajoute l'accès indexé de l'opérateur [] qui permet au listview de fonctionner plus efficacement qu'utilisant ienumerable. Nous pourrions ajouter un soutien innombrable, et cela permettrait une meilleure conformité avec wp7, mais cela mènerait à des listes de consultation inefficaces. – Stuart