-
Simple Image Viewer
Tag Leute,
wie kann man denn einen einfachen Image-Viewer implementieren?
Ich hatte mir folgendes gedacht:
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
namespace SimpleImageViewer
{
public partial class MainPage : PhoneApplicationPage
{
private List<Uri> images = new List<Uri>
{
new Uri("Media/Images/image_1.png", UriKind.RelativeOrAbsolute),
new Uri("Media/Images/image_2.png", UriKind.RelativeOrAbsolute),
new Uri("Media/Images/image_3.png", UriKind.RelativeOrAbsolute),
new Uri("Media/Images/image_4.png", UriKind.RelativeOrAbsolute),
new Uri("Media/Images/image_5.png", UriKind.RelativeOrAbsolute),
new Uri("Media/Images/image_6.png", UriKind.RelativeOrAbsolute),
new Uri("Media/Images/image_7.png", UriKind.RelativeOrAbsolute),
new Uri("Media/Images/image_8.png", UriKind.RelativeOrAbsolute)
};
private int counter = 0;
// Konstruktor
public MainPage()
{
InitializeComponent();
}
private void mediaElement1_MediaOpened(object sender, RoutedEventArgs e)
{
mediaElement1.Source = images[0];
}
private void back_Click(object sender, RoutedEventArgs e)
{
}
private void forward_Click(object sender, RoutedEventArgs e)
{
}
}
}
In den Clicks würde ich natürlich das Bild vorher bzw. nachher anzeigen.
Allerdings funktioniert dies nicht. Das MediaElement zeigt das Image
das in MediaOpened gesetzt wurde nicht an.....
Jemand ne Idee?
-
AW: Simple Image Viewer
Hat das eigentlich einen bestimmten Grund wieso du da für das Bild ein MediaElement nutzen willst statt eines Image-Controls? Zusätzlich dann noch die Frage wo du die Bilder liegen hast - sind die als Content eingebunden oder liegen die im IsolatedStorage?
Edit: Ich hab das kurz mal mit einem Image-Control und einem Standardbild gemacht (habs einfach schnell aus der Toolbox gezogen (deshalb ist der Name Standard und ich nehm fix OnNavigatedTo).
Code:
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) {
base.OnNavigatedTo(e);
image1.Source = new BitmapImage(new Uri("/SplashScreenImage.jpg", UriKind.RelativeOrAbsolute));
}
Bilder die du so einbindest müssen halt in der Solution sein und als BuildAction "Content" eingestellt haben.
-
AW: Simple Image Viewer
Jo ich habe sie als Content in der Solution drin.
Ein MediaElement finde ich unglaublich praktisch weil ich verschiedene Formate
immer auf das gleich Element setzen kann, egal ob ich jetzt ein Video, Musik oder Fotos
abspielen möchte.
-
AW: Simple Image Viewer
Kannst ja dort mal dasselbe probieren und eben ein BitmapImage mit der Uri machen und das als Source beim MediaElement setzen.