2013-07-09 1 views
4

У меня есть кнопочное управление с именем Кнопка удержания Когда кнопка «Щелчок» Содержимое кнопки должно меняться, чтобы возобновить, снова, если нажата кнопка возобновления, значит удержание должно быть видимым, пожалуйста, помогите мне ...Как сменить кнопку Содержимое при нажатии на Xaml

XAML код:

<Button Style="{StaticResource CommonButtonStyle}" Template="{DynamicResource GlassButton}" ToolTip="F9" Click="Hold_Click" PreviewKeyDown="Hold_PreviewKeyDown" Name="OK" Margin="1,49,25,0" Grid.Column="2" Grid.Row="13" Grid.RowSpan="2"> 
     <StackPanel Style="{StaticResource ButtonStackPanel}"> 
      <Image Style="{StaticResource CancelImages}" /> 
      <TextBlock Text="{Loc lblHold}" Style="{StaticResource ButtonTextBlock}" /> 
     </StackPanel> 
    </Button> 

ответ

7

Вы можете попробовать что-то подобное в Click событие кнопки:

private void holdResumeButton_Click(object sender, RoutedEventArgs e) 
{ 
     if ((string)holdResumeButton.Content == "Hold") 
      holdResumeButton.Content = "Resume"; 

     else 
      holdResumeButton.Content = "Hold"; 

} 

XAML:

<Button x:Name="holdResumeButton" 
     Content="Hold" 
     Click="holdResumeButton_Click"/> 
+0

Благодаря @ pcnthird –

+1

Использование кода, когда XAML позволяет вам делать это, не является хорошим решением. См. Решение @Dennis. – Askolein

1

может быть, вы можете использовать ToggleButton вместо Button, так что вы можете привязать к IsChecked собственности. http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.togglebutton.ischecked.aspx

Например:

<ToggleButton x:Name="TB"> 
     <ToggleButton.Style> 
      <Style> 
       <Style.Triggers> 
        <Trigger Property="ToggleButton.IsChecked" Value="True"> 
         <Setter Property="ToggleButton.Content" Value="Resume"></Setter> 
        </Trigger> 
       </Style.Triggers> 
      </Style> 
     </ToggleButton.Style> 
    </ToggleButton> 
4

Использование ToggleButton:

 <Style x:Key="HoldOrResumeButton" TargetType="{x:Type ToggleButton}" BasedOn="{StaticResource {x:Type ToggleButton}}"> 
      <Setter Property="Content"> 
       <Setter.Value> 
        <TextBlock Text="Hold"/> 
       </Setter.Value> 
      </Setter> 
      <Style.Triggers> 
       <DataTrigger Binding="{Binding IsChecked, RelativeSource={RelativeSource Mode=Self}}" Value="True"> 
        <Setter Property="Content"> 
         <Setter.Value> 
          <TextBlock Text="Resume"/> 
         </Setter.Value> 
        </Setter> 
       </DataTrigger> 
      </Style.Triggers> 
     </Style> 
Смежные вопросы