Ich habe Probleme, ein Bild dynamisch zu ändern.Ändern eines Bildes dynamisch in C# mit WPF
Einige Hintergrundinformationen: Ich habe ein Listenfeld, das Elemente enthält, die ausgewählt werden können. Diese Gegenstände sind Lebensmittelkategorien. Wenn ein Benutzer auf eines der Lebensmittel klickt, möchte ich ein Bild an einer anderen Stelle der Seite ändern.
Meine XAML-Datei enthält:
<Image Name="bigImage" Stretch="Fill" Grid.Row="0" Grid.Column="0" HorizontalAlignment="Center" VerticalAlignment="Center"/>
Also, wenn der Benutzer eine bestimmte Lebensmittelkategorie klickt, dass "bigImage" ändern würde:
FoodCollection foods = (FoodCollection)this.FindResource("FoodCategory");
Food f = foods[foodListBox.SelectedIndex];
Title_TextBlock.Text = f.Name;
bigImage = f.MainImage;
In meinem Essen Klasse Ich habe eine Variable mit dem Namen Bild m_mainImage :
Ich las irgendwo, dass ich das Bild "auflösen" musste, aber ich wurde gelöst Ohr was das bedeutet. Ich dachte, das es tun würde:
m_mainImage.BeginInit();
m_mainImage.Source = new BitmapImage(new Uri(m_mainImagePath, UriKind.RelativeOrAbsolute));
m_mainImage.EndInit();
Sorry, ich bin noch neu in WPF und C#. Vielen Dank im Voraus.
Oh hey, wie stelle ich den DataContext ein? –
@Aero - das einfachste ist 'this.DataContext = this;', das es auf der höchsten Ebene in Ihrem Konstruktor einrichten wird, aber Sie können genauer sein. – ChrisF