Hallo
Mir scheint, du bist nicht nur in der Hinsicht verwöhnt. herbivore
Manchmal ist dein Ton sehr anmaßend.
chrische
Hallo
Ich habe in einer Form eine ListBox und im Code der Form eine Instanz einer Klasse, die ein Property namens Liste besitzt. Dieses Propety würde ich nun gerne an die ListBox binden. Ich habe jetzt lange WPF gemacht und bin da sehr verwöhnt. Geht das auch mit Winforms und wenn ja, wie?
chrische
Hallo
Das ViewModel sollte doch dem View gar nicht bekannt sein und deswegen gehört das auch nicht in den xaml code. Man sollte den DataContext beim Erzeugen des Fenster setzen.
chrische
Hallo
Ich konnte es auch nicht glauben, aber es funktioniert absolut super.
chrische
Hallo
WPF? MVVM!! das ist einfach ein Muss, sage ich mal so frech.
chrische
Hallo
Auch wenn du das vielleicht nicht hören willst, würde ich gerade bei diesem Sektor nicht das billigste nehmen. Wie die dann ihre Mitarbeiter ausbeuten, ist eine Schweinerei und das sollte man sich genau überlegen, ob man Teil des Lohndumpings sein möchte.
chrische
Hallo
Ehrlich gesagt, kann ich nicht immer lachen, weil ich nicht verstehe, was an dem Codeschnipsel witzig sein soll (mir fehlen da die programmierkenntnisse), aber die letzten beiden von jack30lena waren wirklich köstlich.
chrische
Hallo
Also ich lasse die Code-behind-datei auch grundsätzlich leer. Da kommt nichts rein. Ich wüsste auch nicht, warum ich das machen sollte. Ich halte es für deutlich übersichlticher das ganz tsreng zu trennen. So verstehe ich MVVM auch.
chrische
Hallo
Kannst du IsChekced nicht erst setzen, wenn das Control initialisiert wird?
chrische
Hallo
ich nutze zattoo immer mal.
chrische
Hallo
Setze für das linke Control einen Margin-Wert, der deinen Vorstellungen entspricht.
chrische
Hallo
Okay an so etwas hatte ich auch schon gedacht. Es gibt also keine Methode im Framework, die genau das macht, was ich brauch?
chrische
Hallo
Ich hole mir mittels Directory.GetDirectories alle Verzeichnisse und nun stehen dort aber string wie (C:\Test\TestName\TestStadt). Wie ist es möglichn nun nur den Namen des letzten Verzeichnisses zu bekommen. Im Beispielfall bräuchte ich TestStadt. Gibt es dazu etwas fertiges im Framework?
chrische
Hallo
Ich will auch noch enmal schreiben, dass sich dynamisch und xaml keinesfalls ausschließen. GEht alles über Bindigns und WPF nur mit c# zu machen, ist sicher im Sinne des Erfinders und macht die ganze nur noch komplizierter. Das sollte man wirklich lassen. In der Regel wird überhaupt kein direkter ViewCode in eine .cs-Datei geschrieben.
chrische
Hallo
Warum benutzt du nicht einfach xaml?
chrische
Hallo
Du solltest wirklich mit MVVM arbeiten. Du kannst dann die entsprechenden UserControls an als Content an eine ContentControl binden, welches du im Stackpanel anzeigst. Alle Aktionen die auf dem Usercontrol ausgeführt werden bearbeitest du im ViewModel und dieses kann dann ein ViewModel bearbeiten, welches an ein UserControl gebunden ist, welches im zweiten StackPanel angezeigt wird.
chrische
Hallo
Auch wenn meine Zeit derzeit knapp ist, biete ich meine Dienste an. Ich habe Anstoss 3 auch wie ein Irrer gespielt und immer davon geträumt einiges besser zu machen. Ich freue mich lso, wenn ihr mich anschreibt.
chrische
Hallo
Der Umstieg ist heftig. Es ist eine komplett andere Herangehensweise, gerade im Zusammenhang mit MVVM. Ich kann es dir aber trotzdem empfehlen. Gerade bei 2000 LOC.
chrische
Hallo
Vielen Dank für Tipps. Ich werde das gleich umsetzten.
chrische
Hallo
Ich versuche gerade mittels XML-Serialisierung eine Klasse zu speichern. Das funktioniert auch ganz gut, aber es werden auch Felder gespeichert, die ich mit dem Attrbut [NonSerialize] versehen habe. Hier mal etwas Code:
[NonSerialized] private Texture2D background;
[NonSerialized] private bool isDisposed;
[NonSerialized] private List<Texture2D> mapObjectsTextures = new List<Texture2D>();
[NonSerialized] private List<Texture2D> tileTextures = new List<Texture2D>();
in der xml-Datei steht dann folgendes (Ausschnitt)
<Alpha>100</Alpha>
<IsDisposed>false</IsDisposed>
<MapObjects />
<MapObjectsTextures />
<Name>dfghdf</Name>
<TextureAssetNames />
<TileTextures />
Besonders ist hierbei IsDisposed zu beachten, was, nach meinen Erkenntnisstand, dort doch eigentlich nicht stehen dürfte. Was mache ich hier falch?
chrische
Hallo
Man kann auch einfach regionerate verwenden. Allerdings hilft das nicht innerhalb von Funktionen.
chrische
Hallo
Ehrlich gesagt, habe ich das jetzt einfach so gemacht:
var mousePosition = args.GetPosition((Image) args.OriginalSource);
Widerspricht das total dem guten GEschmack eines MVVM-Experten?
chrische
Hallo
Sorry, das war gar nicht böse gemeint, sondern beinhaltet natürlich auch ein Danke an dich, aber manchmal fragt man sich schon, in welchen Verhältnis da Aufwand und Nutzen stehen.
chrische
Hallo
Ach du Heimatland. So etwas hatte ich befürchtet...
chrische
Hallo
Ja aber wie kann ich die normaliserten Daten liefern? Als CommandParameter übergebe ich bisher die MouseEventArgs, die ich eigentlich auch brauche, weil ich ja auch noch auf die Maustasten und ähnliches reagieren muss. Baut man sich dann eine eigene Klasse und befüllt die in der cs-Datei des Views. Das sollte doch eigentlich leer sein, also kein Usercode.
chrische
Hallo
Ich brauche die Mausposition um auf einer Karte zu zeichnen. Soll man ein Mapedtor werden. Was schlägst du vor?
chrische
Hallo
Vielleicht habe ich gerade einen Knoten im Knopf, aber ich stehe vor folgendem Problem:
Ich regaiere in einem ViewModel auf das MouseMove - Event und will nun die Position der Maus haben. Allerdings verlangt die Methode GetPosition ein IInputElement. Dieses ist dem ViewModel ja nicht bekannt. Wie komme ich nun sauber an die Position der Maus?
chrische
Hallo
Alos für Windows7 brauchst du keine besonder Hardware. Ist ja gerade so toll, weil es auch auf Notebook und so weiter läuft.
chrische
Hallo
Bei mir sind es auch drei. Ab wann kann man wo vorbestellen und in den GEnuss der verbilligten Versionen kommen?
chrische
Hallo
Kann jemand von euch was zu den Preisen sagen? GErade die Family-Edition würde mich reizen.
chrische
Hallo
Es war nur eine Frage der Zeit bis die ersten wieder irgendwelche wilden Verschwörungstheorien offenbaren...
chrische
Hallo
Ich versuche mittels eines D3DImages Xna-Inhalt in eienr WPF-Anwendung zun zeichnen. Da ich aber zum Zeichnen das CompositionTarget.Rendering-Event benutze, ärgere ich mich, dass das Event permanent gefeuert wird und somit meine Anwendung extrem ausbremst. Es handelt sich um einen Editor und deswegen ist es üblich, dass mehrere Karten in einem TabControl geöffnet sind. Es muss natürlich aber immer nur das aktuell angezeigte auch gezeichnet werden. Das Event feuert aber für alle Karten, auch wenn die ganze Anwendung minimiert ist. Kann man irgendiwe das paint-event von winforms in wpf nachstellen? Kennst da emdn Möglichkeiten?
chrische
Hallo
Ich habe auch kein Propertygrid gefunden und mich auch schon gefragt, ob ich blöd bin...
chrische
Hallo
Oben rechts im Editor ist eine ComboBox mit den Funktionen.
chrische
Hallo
Geholfen hat mir das bisher nicht, weil ich die Idee nicht umsetzten konnte. Ich habe es dort auch schon geschrieben. Ich würde mich wirklich sehr über eine Lösung freuen.
chrische
Hallo
Ich hoffe, dass es hier User gibt, die sich mit AvalonDock auskennen. Ich versuche eine GUI zu erstellen, die Ähnlichkeiten zu der von VS hat und brauche deswegen die tollen Dockingfenster. Ich habe ein Hauptfenster mit einem DockingManager:
<Grid Width="Auto" Height="Auto" DockPanel.Dock="Bottom">
<AvalonDock:DockingManager x:Name="dckManager">
<AvalonDock:DockingManager.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FF000000" Offset="0"/>
<GradientStop Color="#FFA02323" Offset="1"/>
</LinearGradientBrush>
</AvalonDock:DockingManager.Background>
<AvalonDock:DocumentPane></AvalonDock:DocumentPane>
</AvalonDock:DockingManager>
</Grid>
und will nun bei Klick auf einen Menüeintrag Fenster zum Docken öffnen:
public void OpenPropertyView(DockingManager dockManager)
{
if(propertyView == null)
{
var viewModel = new PropertyViewModel
{
SelectedObject = ProjectData,
};
propertyView = new PropertyView(viewModel);
dockManager.Show(propertyView, DockableContentState.Docked, AnchorStyle.Right);
}
else
{
propertyView.Focus();
}
}
PropertyView ist vom Typ DockableContent.
Wie kann ich die Breite des Fensters einstellen? Wie kann ich auf ein Schließen des Fensters reagieren? (ich habe keinen Close-Event gefunden) Gehe ich überhaupt den richtigen Weg?
chrische
Hallo
[] - solltest du dir mal anschauen.
chrische
Hallo
Wenn es schnell gehen soll und du es nicht verstehen brauchst: Linq to XML
chrische
Hallo
PS: Wenn noch einer Pulp Fiction nennt, dann werfe ich mich auf den Boden und beiße in die Auslegeware! Der Film ist aus meiner Sicht eine sinnlose Aneinanderreihung sinnloser Gewalt. Ich glaube, ich habe ihn ungefähr bis zur Hälfte gesehen und dann abgeschaltet.
Es gibt Filme, die sollte man unbedingt zu Ende schauen, einer davon ist Pulp Fiction.
chrische
Hallo
Das meinte ich: Manchmal hat man einen totalen Knoten im Kopf. Ich kann ja einfach auf die entsprechenden Properties zugreifen.
chrische
Hallo
"sie" heißt "die" - Sorry, war meine Schuld.
Ich skizziere mal ein Szenario, wie es sicher sehr häufig auftritt.
var dialogViewModel = new TextBoxDialogViewModel
{
Text = "Test",
};
var dialog = new TextBoxDialog(dialogViewModel)
{
Owner = mainWindow,
WindowStartupLocation = WindowStartupLocation.CenterOwner
};
dialog.ShowDialog();
Wie komme ich nun an die Text-Property des ViewModels? Sollte dies für den Aufrufer zugänglich sein (das ViewModel)?
chrische
Hallo
Ehrlich gesagt, blicke ich nicht, wie du da an die Daten kommst, sie im ViewModel gehalten werden.
chrische
Hallo
Wahrscheinlich stehe ich mal wieder total auf dem Schlauch:
Ich habe einen kleinen Dialog mit einer Textbox und zwei Buttons. Dazu ein ViewModel indem es ein Property namens Text gibt, welches an die Textbox gebunden ist. Nun will ich diesen Dialog aus einem Fenster aufrufen. Das klappt, aber wie komme ich jetzt an den Inhalt der TextBox bzw. des Propertys? Ich habe ja nur Zugriff auf die View also den Dialog.
Ich hoffe, dass das verständlich ist...
chrische
Hallo
Ich bin mir nicht sicher, ob ich alles richtig verstanden habe, deswegen versuche ich mal mein Problem zum Thema zu schildern:
Ich habe ein Hauptfenster und eine dazugehöriges ViewModel (mainViewModel). In diesem MainViewModel werden nun auch die relevanten Daten gehalten (IProjectDataProvider). Nun kann man aus dem Hauptfenster heraus eine anderes Fenster öffnen (ItemView) und zu diesem Fenster gibt es wieder ein ViewModel (ItemViewModel). Im Fenster werden Daten aus dargestellt, die von IProjectDataProvider kommen und es können auch Daten manipuliert werden. Übergibt man ItemViewModel dann im Konstruktor nur IProjectDataProvider oder das komplette MainViewModel?
chrische