Laden...

Forenbeiträge von Stephan Gertens Ingesamt 5 Beiträge

01.11.2011 - 22:34 Uhr

Wow,

ihr seid klasse, vielen Dank!

Grüße und schönen Abend,
Stephan

01.11.2011 - 21:46 Uhr

Guten Abend Leute!

Da mir beim letzten Mal so super geholfen wurde, melde ich mich mit meinem nächsten Problem ebenfalls bei euch. Wäre über jegliche Hilfe sehr dankbar.

Es geht um das Binden eines Sliders. Ich habe in meiner View ein Attribut "sliderVisibility", hier reduziert auf das Wesentliche:


public class ViewModel : INotifyPropertyChanged
{ 
   ...
   public String sliderVisibility {get; set;}
   ...

   public ViewModel() 
   {
   sliderVisibility = "Visible";
   }
 
   ...
   public Methode()
   {
   sliderVisibility = "Hidden";
   }
}

In meinem ViewModel setze ich das Attribut im Konstruktor auf "Visible". In einer Methode, die drumherum einwandfrei funktioniert (auch sämtliche andere Bindings), setze ich das Attribut zur Laufzeit auf "Hidden". Aber die Änderung zur Laufzeit wird nicht von der View aktualisiert.

Ändere ich im Konstruktor die Initialisierung auf "Hidden", ist der Slider weg, also scheint das Data Binding ja auch zu funktionieren. Im XAML-Code binde ich mich im Slider wie folgt:


...
<Slider Name="Beispiel" Visibility="{Binding SliderVisibility}/>
...

StaticResource des ViewModels befindet sich im DataContext.

Also, Zusammenfassung: DataBinding scheint zu funktionieren, jedoch werden die Werte aus dem ViewModel in die View nicht aktualisiert. Natürlich habe ich schon sämtliche Modes ausprobiert, das INotifyPropertyChanged ist ebenfalls drin (wie auch oben im Beispiel) und wie gesagt: alle anderen Bindings funktionieren mit dem ViewModel einwandfrei.

Ich bin noch relativ unerfahren im Umgang mit WPF und wette, ihr seht den Fehler sofort. Mich hat es heute leider den ganzen Tag gekostet 😦

vielen Dank soweit,
Stephan

26.10.2011 - 15:12 Uhr

Hallo,

vielen Dank! Habe mir deinen Code als Vorlage genommen und ein Grid erstellt. Funktioniert prima.

Wie gesagt: super vielen Dank!

viele Grüße,
Stephan

25.10.2011 - 13:21 Uhr

Hi,

ich danke dir für deine Antwort und werde da nochmal schauen. Auf den ersten Blick sieht das Frame-Steuerelement gar nicht schlecht aus.

Ich beschreibe mein Problem nochmal genauer:
Ich möchte dem Nutzer in einem ersten Teilbereich meines Window eine Funktionsauswahl zur Verfügung stellen. Dort kann er nun eine Funktion auswählen und bestimmt damit, was in den weiteren Teilfenstern meines Window passiert. Ich brauche maximal 3 Teilfenster in meinem Window, manchmal kommt eine Funktion aber auch mit nur einem weiteren Teilfenster in meinem Window aus.

Nochmal die Beispiele:
Beispiel A.: Nutzer wählt in dem ersten Teilbereich des Window die Funktion "Addition" aus. Nun geht rechts daneben innerhalb des Window ein weiterer Teilbereich auf, dort kann der Nutzer wählen zwischen zwei weiteren Optionen "unter 100" und "über 100". Anschließend geht ein drittes Teilfenster in meinem Window auf, wo die Berechnung durchgeführt wird.

Beispiel B.: Nutzer wählt in dem ersten Teilbereich des Window die Funktion "Multiplikation" aus. Nun geht rechts daneben innerhalb des Wdinow ein weiterer Teilbereich auf, dieses Mal kann allerdings direkt hier die Berechnung durchgeführt werden, sodass der dritte Teilbereich des Window nicht gefüllt werden muss.

Ich hatte gedacht, ein Grid mit dem Split-Steuerelement in drei Spalten einzuteilen. Für Spalte 2 und 3 wird dann eine OberservableCollection<T> an eine ListBox gebunden, die erste Spalte wird einfach mit Buttons gestaltet. Und je nach gewähltem Button werden die OberservableCollections gefüllt.

Was meint ihr?
vielen Dank und Grüße,
Stephan

24.10.2011 - 17:28 Uhr

Hallo zusammen!

Ich würde gerne ein Split-Fenster mit 2-3 Unterfenstern (je nach Auswahl, erläutere ich gleich), die horizontal angeordnet sind, gestalten. Soll heißen: Ich wähle ganz links im ersten Fenster eine Funktionalität, z.B.: Addition oder Subtraktion oder Multiplikation. In Abhängigkeit der Auswahl des Nutzers sollen nun im zweiten Fenster weitere Funktionalitäten erscheinen. Für einige Funktionen wird ein weiteres Fenster (3. Fenster, rechts daneben) benötigt; für andere wiederum nicht. Beispiel A: 1. Fenster: Addition, 2. Fenster: "unter 100", 3. Fenster: Summanden eingeben. Beispiel B: 1. Fenster: Multiplikation, 2. Fenster: Faktoren eingeben.

Wie kann ich meine Vorstellung am besten realisieren? Vielleicht mithilfe von ListBox und dem Split-Steuerelement? Fallen euch bessere Löungen ein?

vielen vielen lieben Dank,

Stephan