Я сейчас создаю приложение для Windows Phone.
Ну, на «главной странице» у вас будет только обзор вашего
"Символы".
Все ваши персонажи хранятся в классе конфигурации Singleton.
Для генерации обзора я просто использую ListBox с табличкой данных, например:
<ListBox x:Name="ListBox_Characters" Margin="0,0,-12,0" ItemsSource="{Binding Source={StaticResource Config},Path=Instance.Characters}">
<ListBox.ItemTemplate>
<DataTemplate>
<Button Style="{StaticResource CharacterButton}" Click="Button_Click_2">
<StackPanel Orientation="Horizontal" Margin="0,0,0,17">
<Image Source="{Binding ShowPortrait}" Height="110" Width="110" Margin="0,15,0,0" />
<StackPanel Width="311">
<TextBlock Text="{Binding Name}" TextWrapping="NoWrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
<TextBlock Text="{Binding ShowCurrentlyTraining}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
<ProgressBar Value="{Binding CurrentlyTrainingPercentage}" IsIndeterminate="{Binding CurrentlyUpdating}" />
<Grid>
<TextBlock Text="{Binding ShowSPs}" TextWrapping="Wrap" HorizontalAlignment="Left" Margin="12,0,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
<TextBlock Grid.Column="2" Text="{Binding ShowCurrentlyTrainingPercentage}" HorizontalAlignment="Right" TextWrapping="Wrap" Margin="12,0,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
</Grid>
<TextBlock Text="{Binding ShowWealth}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
</StackPanel>
</StackPanel>
</Button>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Теперь я добавил страницу, чтобы показать больше деталей. Страница должна быть доступна, нажав один из символов в ListBox выше.
Чтобы узнать, «какой» символ выбран, я попытался просто сохранить символьный идентификатор в классе Singleton, а затем загрузить соответствующий символ со страницы сведений.
к сожалению, я не понимаю:
Это метод «Click», с уже добавленным измерением времени.
Окно сообщения наконец говорит мне: «Нажатие на метод занимает 3.896»
private void Button_Click_2(object sender, RoutedEventArgs e)
{
//stop the update timer
Configuration.Instance.updater.Stop();
//Get current character id
DateTime start = DateTime.Now; //time measurement
Button btn = (Button)sender;
Character myChar = (Character)btn.DataContext;
Configuration.Instance.CharacterToReload = myChar.CharacterID;
TimeSpan ts = DateTime.Now.Subtract(start); //time measurement
MessageBox.Show("Clicking method takes " + ts.TotalSeconds); //time measurement
//Navigate to Detail Page
NavigationService.Navigate(new Uri("/Details.xaml", UriKind.Relative));
}
Как эти простые "броски" могут занимать до 3 секунд?
Я что-то пропустил?
С наилучшими пожеланиями,
dognose
edit: Почему я всегда работаю несколько часов безуспешно - а потом, сразу после создания поста в форумах, я понял это?
Я добавил метод сохранения для IsolatedStore в части «set» свойства «CharacterToReload» - это занимает около 4 секунд (много данных / изображений)