我正在制作一个简单的井字游戏来熟悉 WPF,因为自从我使用该格式以来已经有很长时间了。我一直在尝试禁用按钮,以防止人们在内容设置为 X 或 O 后选择同一个方块。 以下是我的按钮 XAML 代码示例:
<Button Name="btmRight" Margin="10 10 10 10" Grid.Column="2" Grid.Row="2" FontSize="128">
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Opacity" Value="1"/>
<Setter Property="Foreground" Value="Black"/>
<Setter Property="Background" Value="LightGray"/>
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
默认情况下启用这些按钮。然后我使用一些简单的 C# 代码禁用按钮,并根据轮次将内容设置为 X 或 O。然而,尽管每个按钮中都有样式触发器,但格式从未改变。我可能会探索的是在代码中放置一个条件,如果按钮有内容,则不要对其进行任何更改,而不是在单击时禁用按钮。这是我用于 C# 的示例:
mid.Click += (sender, e) =>
{
mid.Content = mark;
TurnSwap();
mid.IsEnabled = false;
IsComplete();
};
“mark”是一个根据回合设置的字符串。将内容设置为标记值,然后在设置内容后立即旋转。然后按钮被禁用,游戏会检查是否有人赢了。如果我使用手动禁用按钮的选项,我会在条件中包围该 C# 代码,以检查内容是否为“”,默认情况下。感觉这个选项有点懒,想单独学习一下WPF的概念解决方案。
相关分类