2009-08-11 10 views
0

Ich versuche, ein Spiel zu machen/Pause Button. Wenn auf Play Button geklickt wird, wird es an den Befehl StartStopWatch gebunden. Die Play Button wird dann in eine Pause Button geändert, die an den PauseStopWatch Befehl gebunden wird. Mein Problem ist. Ich weiß nicht, wie ich den Stil behalten soll und verändere sie austauschbar. Momentan habe ich zwei verschiedene Knöpfe, aber ich möchte sie zusammenfügen und sie als einen zusammenfügen. Meine Tasten sind wie folgt. Ich möchte es auf MouseClick haben, es ändert sich auch! Vielen Dank!Fenster WPF und XAML Schaltfläche Ändern

<Button x:Name="StartButton" Style="{DynamicResource StartTimerButton}" 
     Width="24" Height="24" Margin="5,0,5,0" ToolTip="Start Timer" 
     Command="{Binding StartStopWatch}" VerticalAlignment="Center"/> 

<Button x:Name="StopButton" Style="{DynamicResource StopTimerButton}" 
     Width="20" Height="20" Margin="0,0,5,0" ToolTip="Stop Timer" 
     Command="{Binding StopStopWatch}" VerticalAlignment="Center"/> 

Hat jemand irgendwelche Vorschläge?

+0

Bitte klären, was Sie erreichen wollen, zu unterscheiden. Möchten Sie den Style und den Tooltip (der Teil des Style BTW sein kann) dynamisch auf Ihren Button schalten? –

+0

Wenn die Schaltfläche CLicked ist, ändert sich das. Beispiel. Sie haben eine Play-Taste. Wenn Sie auf die Wiedergabetaste klicken, wird die Schaltfläche zu einer Pause. Wenn Sie auf die Pause-Schaltfläche klicken, ändert sich die Schaltfläche in eine Wiedergabetaste. Aber wenn es spielt, bindet es sich an das Befehlsspiel. Wenn es sich in der Pause befindet, wird es an die Befehlspause gebunden. ALSO, ich versuche, meine gleichen Stile auf meinen Knöpfen zu behalten. Ich habe einen roten und grünen Knopf. Rot = Stopp und Grün = gehen. –

Antwort

1

Eine einfache Möglichkeit ist es, eine ToggleButton zu verwenden und seinen aktivierten und deaktivierten Zustand zu nutzen. Sie können die Control Theme auf, die für den Befehl Basis ändern, warum man kann nicht einen einzigen Befehl für Stoppuhr erstellen und übergeben Sie true/false als Command die Ausführung

<ToggleButton Name="yourToggleButton" 
    Command="{Binding StartStopCommand}" 
    CommandParameter="{Binding ElementName= yourToggleButton, Path=IsChecked}"/> 
0

Wenn Sie eine Schaltfläche haben, die sich in zwei Zuständen befinden kann, verwenden Sie ToggleButton, und binden Sie alles, was Sie wollen, an die IsChecked-Eigenschaft. Insbesondere können Sie die Schaltfläche Style abhängig von IsChecked Großhandel (mit einem Konverter) binden, oder Sie können einfach Trigger innerhalb Ihres Stils verwenden, um Aussehen (einschließlich QuickInfo) abhängig von dem Wert von IsChecked zu ändern.