J'ai une commande sur un ViewModel que j'utiliser pour accéder à une page de détailsException lors de l'envoi des paramètres de VM à VM sur l'appareil avec MvvmCross sur WP7.1
public class InstalledMetersListViewModel : MvxViewModel
, IMvxServiceConsumer<IInstallMeterRepository>
{
public List<InstalledMeterListItemViewModel> List { get; set; }
public InstalledMetersListViewModel()
{
List = new List<InstalledMeterListItemViewModel>();
foreach (var meter in this.GetService<IInstallMeterRepository>().GetInstalledMeters())
{
List.Add(new InstalledMeterListItemViewModel { Serial = meter.Serial, Description = meter.Description });
}
}
public IMvxCommand ShowDetailsCommand
{
get
{
return new MvxRelayCommand<InstalledMeterListItemViewModel>(type => RequestNavigate<InstalledMeterListItemViewModel>(new {serial = type.Serial.ToString()}));
}
}
}
ce point de vue
<ListBox ItemsSource="{Binding List}" x:Name="TheListBox">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<Border BorderThickness="5,5,5,5" BorderBrush="White">
<Grid Width="auto" HorizontalAlignment="Stretch" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock Text="S/N"/>
<TextBlock Text=" : " Grid.Column="1"/>
<TextBlock Text="{Binding Serial}" Grid.Column="2"/>
<TextBlock Text="Description" Grid.Row="1"/>
<TextBlock Text=" : " Grid.Column="1" Grid.Row="1"/>
<TextBlock Text="{Binding Description}" Grid.Column="2" Grid.Row="1"/>
<Button Content="Details" Grid.Column="3" Grid.RowSpan="2" Command="{Binding Path=DataContext.ShowDetailsCommand, ElementName=TheListBox}" CommandParameter="{Binding}"/>
</Grid>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Le ViewModel Je navigue à se
public class InstalledMeterListItemViewModel : MvxViewModel,
IMvxServiceConsumer<IInstallMeterRepository>
{
public InstalledMeterListItemViewModel(string serial)
{
IInstalledMeter meter = this.GetService<IInstallMeterRepository>().GetMeter(Convert.ToDouble(serial));
Description = meter.Description;
Serial = meter.Serial;
}
public InstalledMeterListItemViewModel()
{
}
problème acce objet ssing - très probablement cela est causé par un objet anonyme étant généré en interne - s'il vous plaît voir Anonymous types and Get accessors on WP7.1?
Mais je n'utiliser toutes les classes internes, donc je ne peux pas voir comment je peux résoudre ce problème
Je suis vraiment surpris ce court sur l'émulateur - je ne pense pas utilisé pour ... – Stuart
Cest mon mauvais, ça ne marche pas, j'utilisais l'émulateur WP8 et quand je l'ai découvert je l'ai seulement enlevé du titre, éditant maintenant – Mech0z