我正在用 C# 开发一个 WPF 应用程序,其中有一个按钮可以切换图像的可见性。我已按照说明进行操作并实现了以下代码来处理按钮单击:
XAML:
<Window x:Class="ROBOT_01.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="450" Width="800">
<Grid>
<Image x:Name="RobotHeadImage" Source="images/robot_head.png" Width="100" Height="100" Visibility="Hidden"/>
<Button Content="Toggle Image" HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="0,0,0,20" Click="ToggleButton_Click" Width="100" Height="30"/>
</Grid>
</Window>
背后代码:
namespace ROBOT_01
{
public partial class MainWindow : Window
{
private const Visibility HiddenVisibility = Visibility.Hidden;
private const Visibility VisibleVisibility = Visibility.Visible;
public MainWindow()
{
InitializeComponent();
}
private void ToggleButton_Click(object sender, RoutedEventArgs e)
{
if (RobotHeadImage.Visibility == VisibleVisibility)
{
RobotHeadImage.Visibility = HiddenVisibility;
}
else
{
RobotHeadImage.Visibility = VisibleVisibility;
}
}
}
}
我已确认图像路径正确,为图像设置“复制到输出目录”,并使用推荐的代码进行可见性管理。
尽管如此,当我按下按钮时,图像并未按预期出现或消失。我已尝试在线搜索解决方案并按照给定的说明进行操作,但问题仍然存在。
是否有我可能遗漏的内容或我未检测到的错误?有没有人遇到过类似的问题并可以帮助我解决它?请帮助我了解可能出了什么问题。
预先感谢您的任何建议或帮助!
假设您已正确复制粘贴内容,则您订阅点击事件的方式存在错误。
按钮的 XAML 具有以下属性:Click="ToggleButton_Click"
然而,处理程序的 C# 代码如下:private void Button(object sender, RoutedEventArgs e)
将 C# 方法重命名为void ToggleButton_Click( object sender, RoutedEventArgs e )
你的代码可能会工作。
附:如果您使用 Visual Studio IDE,则在调试 WPF 应用程序时,IDE 会为 WPF 可视化树提供实时调试器。您可以检查可视化树以及该树上元素的属性。在调试此类 GUI 问题时,有时该功能 https://learn.microsoft.com/en-us/visualstudio/xaml-tools/inspect-xaml-properties-while-debugging?view=vs-2022有很大帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)