Hallo,
Ich habe ein Frage, Ich habe da ein Programm das mir z.b ausgibt wie viele Kartons einer gewissen Größe auf eine Palette passen.
jetzt spiele ich mich seit 4 Tagen wie ein depp weil ich es nicht fertig bringe.
z.b wenn es 4 Kartons sind dass dann ein Bild mit 4 abgebildeten kartons in meinem Image control erscheint.
hab mich auch im Internet schon durchgesucht jedoch erfolglos vlt hat jemand von euch eine idee.
danke im Voraus Lg Thomas
Bitte in Zukunft an [Hinweis] Wie poste ich richtig? halten.
Stell Dir vor wie das Forum aussehen würde, wenn jeder als Titel nur "WPF und C#" schreibt...
C# Anfänger
Was hast du denn bisher versucht?
So als Ansätze (weiß allerdings nicht ob die gut sind 😃):
Warum machst du nicht ein Bild mit mehreren Kartons und schreibst die Zahl daneben? Wenn es 23 sind will die doch keiner mehr zählen.
BTW, sind alle Kartons gleich groß?
Also ich habe schon versucht das ich das Image auf Visibility=" Hidden" stelle und wenn die bedienung zutrifft auf visibility.visible stelle, das komische drehe ich es um das es erst eingeblendet wird und danach ausgeblendet wird funktionierts aber wenn ich es bei der erfüllten bedienung einblenden will tut sich nichts..
es ist so wenn jetzt 4 Zuschnitte also kartons rauf kommen und die Palette 1800mm hoch ist kommen z.b bei einer Gewissen stärke des Kartons 4000 Zuschnitte rauf 10 Reihen hoch jeweils 100 *4 Pro reihe. fürs verständins.
C# Anfänger
es ist so wenn jetzt 4 Zuschnitte also kartons rauf kommen und die Palette 1800mm hoch ist kommen z.b bei einer Gewissen stärke des Kartons 4000 Zuschnitte rauf 10 Reihen hoch jeweils 100 *4 Pro reihe. fürs verständins.
Das hab ich auch nach mehrmaligem Lesen gar nicht verstanden.
Aber Du könntest 4 Bilder haben: Kartons_01.png, Kartons_02.png, Kartons_03.png, Kartons_04.png
In Deinem ViewModel gibt es dann eine Property Image.
public Uri Image
{
get { return image; }
set
{
if (image != value)
{
image = value;
OnPropertyChanged();
}
}
}
Diese Property wird ebenfalls im ViewModel bestimmt.
private void Calculate()
{
//Errechne die Anzahl der Kartons und speichere das Ergebnis in Result
Image = new Uri($"pack://application:,,,/Resources;component/Images/Kartons_{ Result:D2}.png", UriKind.Absolute);
}
Im Xaml dann das Image binden:
<Image x:Name="ImgKarton"
Height="32"
Width="32"
Source="{Binding Image}" />
...Das hab ich auch nach mehrmaligem Lesen gar nicht verstanden. Text ist nicht wichtig für das Problem, wollte nur wissen ob wir das Rucksackproblem durchkauen müssen.
Danke erstmals für die Antworten.
meine Frage war lediglich wie man ein Image einblenden lässt
ist es möglich z.b
if (WERT == 1)
{
Uri resourceUri = new Uri("/4ZS.jpg", UriKind.Relative);
imgZuschnitte.Source = new BitmapImage(resourceUri);
}
aber wenn jetzt der besagte wert 1 ist wird mir in dem Image bereich kein bild angezeigt.
ich habe 12 bilder und bei 1 muss bild1.jpg angezeigt werden bei 2 bild2.jpg usw....
Sorry für den ein oder anderen falls ich mich nicht verständlich ausdrucken kann bin kein Profi in diesem gebiet mache es nur weils mir spaß macht.
C# Anfänger
Du wirst nicht drum herum kommen Dich mit dem Binding in WPF zu beschäftigen. Aktuell bist noch auf dem Code-Behind Trip. Das Problem: WPF ist darauf ausgelegt, dass Du MVVM verwendest.
Dann kannst Du abhängig von Deinem WERT das entsprechende Bild binden. Caveman hat Dir dazu schon Snippets gezeigt.
Wie man ein Bild entsprechend MVVM bindet: Google-Suche nach wpf bind image
Guter MVVM Einstieg: [Artikel] MVVM und DataBinding
PS: bitte in Zukunft selbst die Code Tags verwenden, danke.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Sorry für den ein oder anderen falls ich mich nicht verständlich ausdrucken kann bin kein Profi in diesem gebiet mache es nur weils mir spaß macht.
Deine Text-Beiträge sind wirklich unverständlich. Lies dir doch wenigstens den Text nochmal durch, bevor du ihn postest. Das ist so konfus, wer soll dir da eine sinnvolle Antwort geben?
Und lies dir doch bitte auch mal die Antworten durch. Caveman hat dir doch eine fertige Lösung geliefert. Wenn es nicht funktioniert, dann poste die Fehlermeldung.
Siehe dazu auch [Artikel] MVVM und DataBinding, Abschnitt "Debugging".
Weeks of programming can save you hours of planning
Anbei ein komplettes Beispiel: