Mechanics schrieb:
Weil du Anfängerfragen stellst. So toll wird dein Spiel also nicht sein. Man muss ja nicht gleich immer seine ersten Gehversuche verkaufen wollen.
Naja. Mein Spiel müsste sowieso erst einmal durch Steam Greenlight kommen.
Haa! Ähnelt meinem aktuellen Projekt :). -Gantt kommt auch vor.
Ich habe es so gelöst, dass ich die eine Canvas oder zwei als Childs an der Haupt-Canvas anhänge und und die Linie dort zeichne.
hauptcanvas.Children.Add(unterobject.untercanvas);
Auf der Hauptcanvas malst Du deine geom. Objekte wie Linie
in XAML setzt Du einfach die Canvas im Hauptfenster und positionierst es mit dem Layout editor.
http://msdn.microsoft.com/de-de/library/ie/bg124101(v=vs.85).aspx
http://msdn.microsoft.com/de-de/library/system.windows.controls.canvas(v=vs.110).aspx
hat sich erledgit. Eine ListView war Enabled und hat immer den Fokus bekommen, wenn ich eine Taste gedrückt habe. Da diese aber noch leer war, hab ich es nicht bemerkt.
sun-ja schrieb:
Ich habe genau deinen Code implementiert
Die Antwort ist eigentlich ziemlich nutzlos. Korrekt wäre, wenn du uns hier ein kleiner Auschnitt, am besten einen Beispielcode präsentierst. Sonst können wir weiterhin nur Rätselraten. Auch ist die Fehlerbeschreibung äusserst dürftig. "Geht nicht" ist keine Fehlerbeschreibung.
Aber ich mache mal ein bisschen Rätselraten, weil mir grad drum war. Dabei nehme ich an, dass der Fehler wie folgt lautete:
System.Windows.Data Error: 2 : Cannot find governing FrameworkElement or FrameworkContentElement for target element. BindingExpression:Path=Items; DataItem=null; target element is 'CollectionViewSource' (HashCode=29666725); target property is 'Source' (type 'Object')
Probier daher mal das da:
<Window.Resources>
<CollectionViewSource Source="{Binding Path=Items}" x:Key="cvs">
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="Position" />
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
</Window.Resources>
...
<ItemsControl ItemsSource="{Binding Source={StaticResource cvs}}" />
Hallo zusammen
Eine Frage zum EntityFramework 6.1. Hoffe hier kennen sich ein paar aus.
Ich erzeuge mir ein neues Object (Entity) und füge es mit Attach dem DbContext hinzu.
Das Objekt besitzt nun Schlüssel zu anderen Objekten in der Datenbank.
Einträge werden nun nach SaveChanges korrekt in die Datenbank eingefügt. Aber nur bei den Tabellen bei dennen eine n:n Beziehung bestehen zum eingefügten Objekt. Bei einer 1:n Beziehung nicht.
Kann mir das jemand erklären. (Hoffe das meine Erklärung auch verständlich ist).
freakC++ schrieb:
Dazu muss zunächst die "GetObjectData" Methode implementiert werden und außerdem wird zur Deserialisierung ein bestimmter Konstruktor der Form
Ehm, Du "musst" nicht, Du "kannst". Man kann GetObjectdata und den CTor überschreiben wenn man custom serialisieren will. Solange die standard Serialisierung des Framework für Dich OK ist musst Du lediglich [Serializble] auf den Childklassen setzen, also:
[Serializable]
class bla { }
freakC++ schrieb:
Wie löse ich am besten das Problem ohne in jeder Kindklasse den gleichen Code zu kopieren?
Wenn die Klassen unterschiedliche Parameter haben musst Du eine Custom-Serialisierung eh pro Klasse implementieren, daran kommst Du nicht vorbei. Die Basisklasse kann schließlich nicht die Parameter der Childs kennen.
Es ist vollbracht
@Dravere, @Th69, Euch beiden gilt mein ganzer Dank. Es funktioniert nun.
Des Rätsels Lösung: pack=1
Dravere, Dein Tipp war also genau der richtige.
Interessant und beeindruckend finde ich, wie schnell Du eine Ferndiagnose gemacht hast.
Zwar hatte ich mich über pragma... gewundert. Aber nachdem ich in zwei Büchern nichts gefunden habe, habe ich es als irrelevant ignoriert.
So kann man sich täuschen. Und wieder etwas gelernt.
Ich danke Euch beiden nochmals und wünsche Euch ein sonniges Wochenende
Liebe Grüße
Wedgewood
Erstmal das ganze Gedöns in ein List<List<string>> einlesen und diese Listen dann parsen. In Abhängigkeit der Units erstellst Du eben Objekte des richtigen Typs in einer kleinen Factory-Methode.
Hingefrickelt:
static List<List<string>> LoadCSV(string filepath, char separator)
{
if (!File.Exists(filepath))
throw new ArgumentException(string.Format("File {0} does not exist", filepath));
var lines = File.ReadAllLines(filepath).ToList();
var res = new List<List<string>>(lines.Count);
lines.ForEach(line =>
{
var split = line.Split(new char[] { separator }, StringSplitOptions.RemoveEmptyEntries);
if (split != null && split.Length > 0)
res.Add(new List<string>(split));
});
return res;
}
Anmerkung: RemoveEmptyEntries ist evtl nicht was du willst. Denn bei festen Positionen ist es sinnvoller die Leereinträge nicht auszusortieren.
List<List<string>> csv = LoadCSV(@"C:\test.csv", ';');
foreach(var line in csv)
{
string itemType = line[2];
if(itemType == "WS_Gruppe_Statuswort")
{
}
else if (itemType == "WS_M1_Sollwert_Aut")
{
}
//...
}
Ich wollte nur mal anmerken, dass Arrays in C# mit dem Defaultwert des Typs initialisiert werden. Die Schleife ist also unnötig, womit die ganze Funktion rausfliegen kann.
Hab jetzt auch herrausgefunden, dass der Window-Thread vom MainWinHandle das system auslastet!
Die Frage ist was ich machen!? WPF hat ja nen Rendering-Thread und nen UI Thread zur usser interaktion, abee wie stehen die in Verbindung mit dem nativen Winthread des Process mainwinhandle!?
Ich bin ratlos:(
Ich verstehe nicht was du meinst. Aber Thread.Sleep macht mir schonmal dezente Sorgen. Was machst du da? Wieso verlangsamst du die Ausfuehrung unnoetig?
Habe gerade kein Compiler zur Hand, aber meine Idee waere dass du nicht das Interface generisch machst, sondern die Methode die in dem Interface deklariert wird.
Übergebe die Mainform nicht an Application.Run
Form1 form = new Form1();
form.Show();
Application.Run();
Dann kann sie geschlossen werden ohne dass die Anwendung sich beendet.
Prof84 schrieb:
für weitere Seelsorge wendet Euch an volkard ...
Wir möchten keine Seelsorge. Wir würden dir gerne helfen bei deinen Problemen mit C# und WPF. Aber dazu musst du uns zuerst helfen, damit wir dich verstehen. Eine Hilfestellung baut auf einer Zusammenarbeit auf. Wenn du nicht lernst oder nicht gewillt bist dich verständlicher auszudrücken, musst du einfach damit rechnen, dass man dir nicht helfen wird können.
hustbaer schrieb:
Dass Prof84 so schreibt dass ihn keiner versteht is ja jetzt nix neues
Ich hatte gehofft, dass das nur an den Themen in NadrW liegt. Mich beschleicht hiermit aber langsam das Gefühl, dass es ein allgemeines Problem ist.