按下时更改按钮颜色(多个按钮)

时间:2015-07-15 16:36:27

标签: wpf vb.net visual-studio

我正在vb.net做一个tictactoe游戏,我想知道如何更改按钮颜色,例如将X或O设置为按钮时,例如分配X时将按钮变为蓝色,当分配O时转动它绿色。

下面是代码分配x或o

Private Sub AllButton_Click(sender As Object, ByVal e As EventArgs)
    If turn Mod 2 = 0 And sender.Content = "" Then
        sender.Content = "X"
    Else
        If sender.Content = "" Then
            sender.Content = "O"

        End If
    End If
    turn += 1
End Sub

1 个答案:

答案 0 :(得分:1)

为什么不使用XAML而不是在代码隐藏中呢?这样的事情: -

  <Style x:Key="MyButtonStyle" TargetType="Button">
    <Setter Property="Background" Value="White" />
    <Style.Triggers>
      <Trigger Property="Content" Value="X">
        <Setter Property="Background" Value="Red" />
      </Trigger>
      <Trigger Property="Content" Value="O">
        <Setter Property="Background" Value="Blue" />
      </Trigger>
    </Style.Triggers>
  </Style>

然后将其分配给您的按钮:

<Button Style="{StaticResource MyButtonStyle}" />

样式设置白色的默认背景,并使用触发器根据按钮内容(“X”或“O”)更改背景颜色。