Danke an euch alle.
Werde mir das MVVM mal reinziehen ......
Gruß
Bernd
Gut, war doof formuliert von mir ......
Und mir gefällt das Parent ... Parent ... usw auch nicht, deswegen such ich ja jetzt nach einer anderen Möglichkeit.
1 wüsste ich: Pro Image den ganzen Code hinschreiben, wo jetzt in der image_load() ist .....
nur das will ich ja nicht, das ich zigfach den gleichen Code drin habe.
Na ja Wochenende ist lang, das ich mir was ausdenke, wie ich das löse.
Bernd
@ p!lle
...weil String und Image nicht zusammenpassen. Kann man das konvenieren?
Dann definiere es das mal anders:
War die Feststellung warum es nicht geht
...weil String und Image nicht zusammenpassen
Kann man das konvenieren?
Neu: Denke mal das Image und String zu unterschiedlich sind, geht ein Konvenieren nicht.
PS: Es ist schön hier jedesmal zu lesen, Wenn jemand eine Frage/Problem hat, das im sofort alle Grundlagen des Programmierens abgesprochen wird.
Wenn niemand ein Problem / Frage hätte, bräuchte man dieses Forum auch nicht.
Und ich weis, ich habe irgendwo einen Denkfehler bei meinem Problemchen, sonst hätte ich hier auch nicht gefragt.
Und mehr werde ich dazu auch nicht mehr kommentieren.
Bernd
@ _Cashisclay
Grundsätzlich wäre es mir egal.
Aber leider muss das Image den Namen haben (Name darf nur einmal ja vergeben werden.). siehe meine "image_load()" Aufruf.
Bernd
Hallo,
jetzt habe ich doch ein anderes Problemchen.
Meine Funktion fürs Bild laden (wo ich den Namen brauche)
private void image_load(Image ImageSender)
{
// Bild laden .....
ImageSender.Source = imageSource;
}
Aufruf 1 geht
image_load(bild);
Aufruf 2 geht nicht
private void MenuItem_Click(object sender, RoutedEventArgs e)
{
MenuItem MN = sender as MenuItem;
string ImageSender = MN.CommandParameter.ToString();
image_load(ImageSender);
}
.... weil string und Image nicht zusammenpassen. Kann man das konventieren?
Oder gibt es eine andere Lösung in meiner image_load() ?
Gruß
Bernd
@ _Cashisclay
Ich will nicht den Namen des Contexmenüs / MenuItems, sondern von dem Bild, das ich angeklickt habe mit dem Menü.
Bernd
Danke,
denke damit gehts 😉
<MenuItem Name="Test" Header="Neues Bild" Click="MenuItem_Click">
<MenuItem.CommandParameter>Lichtbild</MenuItem.CommandParameter>
</MenuItem>
MenuItem MN = sender as MenuItem;
string MenuSender = MN.CommandParameter.ToString();
listBox1.Items.Add(MenuSender);
Ihr / Du seit die besten
Danke
Bernd
Hi,
Parent hat er, hatte ich auch schon mal ausprobiert
MenuItem MN = sender as MenuItem;
string MenuSender = MN.Parent.ToString();
listBox1.Items.Add(MenuSender);
dann kommt dieses als Ergebnis
System.Windows.Controls.ContexMenu.Items.Count:3
Nur was die Count:3 bedeutet, bzw wie ich da auf das Image komme ... ???
Gruß
Bernd
Hi an alle.
Mein Problem mal kurz beschrieben.
Ich habe** mehrere **Images (unterschiedliche Anzahl) auf einer WPF-Seite mit jeweils dem gleichen Contexmenü.
<Image Name="Bild_1"> // Bild_2 / Bild_3 / usw ....
<Image.ContextMenu>
<ContextMenu Name="cm">
<MenuItem Name="Neu" Header="Neues Bild" Click="Bild_Click">
......
</MenuItem>
<Separator />
<MenuItem Name="Loeschen" Header="Bild löschen" Click="Bild_löschen_Click">
</MenuItem>
</ContextMenu>
</Image.ContextMenu>
</Image>
Dazu meine Frage: Ich brauche den Image-Name, von dem gerade benutzten Image (Name="Bild_1").
Die Abrage mit dem MenuItem geht. ich bräucte aber sowas wie
sender as IMAGE oder (Image)sender
private void Bild_Click(object sender, RoutedEventArgs e) // hier bräuchte ich das Image als sender und nicht das MenuItem
{
MenuItem MN = sender as MenuItem;
string MenuSender = MN.Name;
txtTest.Text = MenuSender;
string message = "Sender: " + sender + "\n";
message += "Source: " + e.Source + "\n";
message += "OriginalSource: " + e.OriginalSource + "\n";
listBox1.Items.Add(message);
}
Irgendwie finde ich per Google nix, bzw mir fällt kein vernünftiger Suchbegriff mehr ein dazu.
Ich hoffe einer von euch kann mir auf die Sprünge helfen.
Danke im voraus
Bernd
Hallo,
grundsätzlich verwende ich bei sowas switch - case
Ob das performanter ist, kann ich jetzt auch nicht sagen
Gruß
Bernd
Hi
evl. könnte das hier für dich interessant sein.
Erkennen von Änderungen mit 'SqlDependency' (ADO.NET)
Gruß
Bernd
hast schon Jokerzeichen Probiert?
Gruß
Erste Schritte in C#
Hi
probiers mal so
kurzes Datumsformat
string.Format("{0:d}",DateTime.Now)
dann steht immer die Uhrzeit auf 00:00:00.
Gruß
Bernd
Hallo,
danke für die Antworten.
Ich bastle es grad mit PDFSharp nach.
Meine Idee wäre halt gewesen, das z.B PDFSharp die Daten vom e.Graphics mitbenutzen kann, so das der Ausdruck und das PDF (wo nur für den Mail-Versand ist) gleich sind.
Ist halt nun ein bissal gebastle, das gleich aussieht, aber ja nicht wirklich ein Aufwand.
MfG
Hi Leute,
erstmal danke an die sehr guten Beiträge hier, die mir bis hier her viel geholfen haben.
Nun stehe ich vor einem Problem, wo ich momentan net so wirklich weiter weiß.
Ausgangspunkt: c# Visual Studio 2010 Pro
ich erstelle mit e.Graphics alles zum drucken. Funktioniert auch soweit alles super.
Nun möchte ich im Programm (ohne zutun eines Anwenders), diese Seite als PDF ablegen (Netzlaufwerk), damit ich sie sofort als Mail (using System.Net.Mail;) weiterschicken kann.
.net kann ja keine PDF's erstellen.
Ist sowas mit PDFSharp (oder ähnliches) zu realsieren?
(Mit PDFSharp kann man den Ausdruck auch nachbauen, was ja doppelte arbeit wäre)
Was ich vermeiden möchte, ist sowas mit Acrobat (Versionsprobleme) oder pdfCreator zu machen.
Ich stelle es mir so vor.
new PDF .....
nehme Daten aus
private void print_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
Graphics gre = e.Graphics;
............
............
}
Speichere es im Pfad XXX ab.
Danach kommt die Mail-Geschichte, was ja auch soweit klappt
Solltet Ihr noch weitere Infos brauchen, einfach Fragen.
Einen Dank im Voraus
Wassermann