Schaltfläche mit ICommand nicht deaktiviert?
Habe ich ein button-Steuerelement in meine wpf-mvvm-Anwendung.
Benutze ich ein ICommand
- Eigenschaft (definiert in der viewmodel) binden Sie die Schaltfläche click-Ereignis zu viewmodel.
Habe ich -> ausführen und canexecute
Parameter für meine ICommand
Umsetzung (RelayCommand
).
Selbst wenn CanExecute
falsch ist... " - button ist nicht deaktiviert...WENN button INHALTE BILD
Aber, wenn die Taste Inhalt ist text..aktivieren/deaktivieren funktioniert einwandfrei.
<Button DockPanel.Dock="Top"
Command="{Binding Path=MoveUpCommand}">
<Button.Content>
<Image Source="/Resources/MoveUpArrow.png"></Image>
</Button.Content>
<Style>
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Opacity" Value=".5" />
</Trigger>
</Style.Triggers>
</Style>
</Button>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schaltfläche wird deaktiviert, es ist nur, dass Sie nicht auf das Rendern des Bildes.
Sie müssen einen Auslöser schreiben, der Stil ändert sich die Deckkraft des Bildes zu .5, und Sie erhalten die gewünschte Wirkung der button deaktiviert so:
Dank! Habe versucht den vorgeschlagenen code, nachdem alle meine buttons. Hat nicht funktioniert. Versucht zu extrahieren, einfach den Auslöser und legen Sie es in eine generische Taste, dass alle anderen Tasten übernommen von: arbeitete wie ein Charme! Dieser erste code:
Basiert auf dem code oben habe ich erstellt buttons wie diesen:
Wenn Schaltflächen, wo Sie deaktiviert, werden die Bilder in Ihnen wird automatisch abgeblendet 0,5 Deckkraft.
Müssen Sie pixel-shader-Effekt (es ist nicht so kompliziert, wie es klingt, es ist nur über das hinzufügen einer assembly referenzieren, dann können Sie es verwenden, so einfach wie jedes eingebauten WPF-Effekt) in Verbindung mit trigger-ähnlich wie der Hasan Khan gepostet, um zu zeigen, die deaktiviert Schaltfläche Bilder in Graustufen.