2010-12-02 16 views
0

Ich möchte den Text auf der Schaltfläche geändert haben, wenn sich der Wert der Variablen ändert. Zum Beispiel: Wert der Var ist 0 (ausgeschaltet), so sollte die Schaltfläche Text "Einschalten" anzeigen; Wenn der var-Wert 1 ist, sollte die Schaltfläche "Ausschalten" anzeigen. Ich möchte auch ein Bild in einer anderen Spalte anzeigen, abhängig vom Wert dieser Variablen. Wie kann ich es tun?WPF DataGrid Ändern eines Schaltflächentextes abhängig von einem Wert

Antwort

3

Wenn Sie MVVM verwenden, können Sie eine andere Eigenschaft auf Ihrem Ansichtsmodell hinzufügen, die entweder Returns „einschalten“ oder „ausschalten“, implementieren INotifyPropertyChanged das Bindungssystem zu sagen, wenn sich sein Wert ändert, und Ihre Schaltfläche Inhalt binden es:

<Button Content="{Binding ButtonText}"/> 

Wenn Sie nicht MVVM verwenden, werden Sie einen value converter schreiben müssen. Sie benötigen jedoch immer noch Ihr Backing-Objekt, um INotifyPropertyChanged zu implementieren - andernfalls wird der Button nie wissen, dass sich der boolesche Wert geändert hat, so dass er seinen Text nie aktualisieren wird. Daher würde ich wahrscheinlich den ViewModel-Ansatz anstelle des Wertkonverters empfehlen.