WPF 中的图像可见性问题 - 按下按钮时不显示

2024-02-24

我正在用 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(使用前将#替换为@)

WPF 中的图像可见性问题 - 按下按钮时不显示 的相关文章

  • 在 OpenCL 中将函数作为参数传递

    是否可以在 OpenCL 1 2 中将函数指针传递给内核 我知道可以用C实现 但不知道如何在OpenCL的C中实现 编辑 我想做这篇文章中描述的同样的事情 在 C 中如何将函数作为参数传递 https stackoverflow com q
  • Blazor 与 Razor

    随着 Blazor 的发明 我想知道这两种语言之间是否存在显着的效率 无论是在代码创建方面还是在代码的实际编译 执行方面 https github com SteveSanderson Blazor https github com Ste
  • try-catch 中未处理的异常

    try list from XElement e in d Descendants wix File where e Attribute Name Value Contains temp Name e Parent Parent Attri
  • 在 Xcode4 中使用 Boost

    有人设置 C Xcode4 项目来使用 Boost 吗 对于一个简单的 C 控制台应用程序 我需要在 Xcode 中设置哪些设置 Thanks 用这个来管理它 和这个
  • std::map 和二叉搜索树

    我读过 std map 是使用二叉搜索树数据结构实现的 BST 是一种顺序数据结构 类似于数组中的元素 它将元素存储在 BST 节点中并按其顺序维护元素 例如如果元素小于节点 则将其存储在节点的左侧 如果元素大于节点 则将其存储在节点的右侧
  • 调试内存不足异常

    在修复我制作的小型 ASP NET C Web 应用程序的错误时 我遇到了 OutOfMemoryException 没有关于在哪里查看的提示 因为这是一个编译时错误 如何诊断此异常 我假设这正是内存分析发挥作用的地方 有小费吗 Thank
  • VS30063:您无权访问 https://dev.azure.com

    我正在尝试在 asp net core 2 1 mvc 应用程序中使用以下代码连接 Azure DevOps Uri orgUrl new Uri https dev azure com xxxxx String personalAcces
  • 为什么密码错误会导致“填充无效且无法删除”?

    我需要一些简单的字符串加密 所以我编写了以下代码 有很多 灵感 来自here http www codeproject com KB security DotNetCrypto aspx create and initialize a cr
  • 禁用 LINQ 上下文的所有延迟加载或强制预先加载

    我有一个文档生成器 目前包含约 200 个项目的查询 但完成后可能会超过 500 个 我最近注意到一些映射表示延迟加载 这给文档生成器带来了一个问题 因为它需要根据生成的文档来访问所有这些属性 虽然我知道DataLoadOptions可以指
  • 范围和临时初始化列表

    我试图将我认为是纯右值的内容传递到范围适配器闭包对象中 除非我将名称绑定到初始值设定项列表并使其成为左值 否则它不会编译 这里发生了什么 include
  • 通过不同 DLL 或 EXE 中的指针或引用访问 STL 对象时发生访问冲突

    我在使用旧版 VC6 时遇到以下问题 我只是无法切换到现代编译器 因为我正在处理遗留代码库 http support microsoft com kb 172396 http support microsoft com kb 172396
  • C# 创建数组的数组

    我正在尝试创建一个将使用重复数据的数组数组 如下所示 int list1 new int 4 1 2 3 4 int list2 new int 4 5 6 7 8 int list3 new int 4 1 3 2 1 int list4
  • std::bind 重载解析

    下面的代码工作正常 include
  • Silverlight Datagrid:在对列进行排序时突出显示整个列

    我的 Silverlight 应用程序中有一个 DataGrid 我想在对该列进行排序时突出显示整个列 它在概念上与上一个问题类似 Silverlight DataGrid 突出显示整列 https stackoverflow com qu
  • 内核开发和 C++ [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 从我know https stackoverflow com questions 580292 what languages are windo
  • 同时从多个流中捕获、最佳方法以及如何减少 CPU 使用率

    我目前正在编写一个应用程序 该应用程序将捕获大量 RTSP 流 在我的例子中为 12 个 并将其显示在 QT 小部件上 当我超过大约 6 7 个流时 问题就会出现 CPU 使用率激增并且出现明显的卡顿 我认为它不是 QT 绘制函数的原因是因
  • 过度使用委托对性能来说是一个坏主意吗? [复制]

    这个问题在这里已经有答案了 考虑以下代码 if IsDebuggingEnabled instance Log GetDetailedDebugInfo GetDetailedDebugInfo 可能是一个昂贵的方法 因此我们只想在调试模式
  • 如何查明CONFIG_FANOTIFY_ACCESS_PERMISSIONS是否启用?

    我想利用fanotify 7 http man7 org linux man pages man7 fanotify 7 html我遇到的问题是在某些内核上CONFIG FANOTIFY ACCESS PERMISSIONS不起作用 虽然C
  • boost::program_options:带有固定和可变标记的参数?

    是否可以在 boost program options 中使用此类参数 program p1 123 p2 234 p3 345 p12 678 即 是否可以使用第一个标记指定参数名称 例如 p 后跟一个数字 是动态的吗 我想避免这种情况
  • Swagger 为 ASP.CORE 3 中的字典生成错误的 URL

    当从查询字符串中提取的模型将字典作为其属性之一时 Swagger 会生成不正确的 URL 如何告诉 Swagger 更改 URL 中字典的格式或手动定义输入参数模式而不自动生成 尝试使用 Swashbuckle 和 NSwag 控制器 pu

随机推荐

  • Android proguard 问题:路径不能为 null 或空字符串。路径='空'

    设置之前一切正常 minifyEnabled true and 收缩资源 true 设置这些值后 每当我运行项目时 我都会收到此错误 Information Gradle tasks app assembleProdRelease Erro
  • Mac OSX 上的 laravel homestead/vagrant/virtualbox 非常慢

    我在用Mac 上的 Homestead Vagrant Virtualbox Problem 虽然我发现很多线程 答案如何解决响应时间慢的问题 例如 TTFB 但没有一个起作用 我的响应时间在 25 32 秒之间 这对于本地开发来说显然是不
  • SQL 错误:ORA-02291:完整性约束

    我正在创建一个试图从外键访问值的数据库 我创建了以下两个表 CREATE TABLE Component ComponentID varchar2 9 PRIMARY KEY TypeID varchar2 9 REFERENCES Typ
  • 使用信号量实现 N 进程屏障

    我目前正在为之前迭代的操作系统考试进行培训 我遇到了这个 实施 N 进程屏障 即 是 确保每个流程都完成 他们中的一群人在某个时刻等待着 点在其各自的执行中 对于 其他进程达到他们的 给定点 您有以下内容 可用操作 init sem val
  • 删除核心数据中的重复对象(swift)

    我将对象保存到 JSON 中的核心数据 这是我使用for循环 假设我称之为setup功能 由于用户可能会停止此循环 因此核心数据中保存的对象将是部分的 用户可以重新启动此setup函数 重新启动解析和将对象保存到核心数据的过程 现在 如果我
  • 使用 Linux sort 命令对多个键进行排序

    说我有这个文件 cat a txt c 1002 4 f 1001 1 d 1003 1 a 1001 3 e 1004 2 b 1001 2 我想按第二列排序 然后按第三列排序 第二列是数字 而第三列可以视为字符串 我知道以下命令效果很好
  • 单击任意位置以在 CKEditor 中聚焦

    在 FireFox 中 我可以单击 CKEditor 350px x 250px 中的任意位置 将焦点放在编辑器顶部的单个文本段落上 然而 在 IE6 中 我知道 但我们的客户坚持 我必须直接单击段落顶部以将光标聚焦并随后编辑文本 CKEd
  • STD 集合中引用的生命周期

    对 STD 集合 例如映射 返回的元素的引用有效多久 例如 在这段代码中 struct Employee int salary string name the key map
  • JavaTypeDescriptorRegistry - 找不到所请求的 Java 类的匹配类型描述符

    我有一个项目运行没有任何问题 除了这个警告消息 WARN org hibernate type descriptor java JavaTypeDescriptorRegistry Could not find matching type
  • 从第三方将CSS注入到iframe中

    我们可以将一堆 CSS 文件从第三方 例如托管广告的 OAS 注入到 iframe 中吗 如果可能的话 我们将不胜感激 通过使用 jQuery 选择器 您应该能够做到这一点 但是 对 iframe 内容不应有任何限制 即它应该来自同一域 对
  • 使用 StreamReader 检查文件是否包含字符串

    我有一个字符串是args 0 到目前为止 这是我的代码 static void Main string args string latestversion args 0 create reader open file using Strea
  • 如何从无限字节流中读取 UTF-8 字符 - C#

    通常 要从字节流中读取字符 您可以使用 StreamReader 在此示例中 我从无限流中读取由 r 分隔的记录 using var reader new StreamReader stream Encoding UTF8 var mess
  • 如何修复 android Adob​​e SDK 工具中的此错误?

    我已将 Adob e Editor 集成到我的 Android 应用程序中 它工作正常 更新我的 Android Studio 后 它崩溃了 我在gradle中添加了 android compileSdkVersion 26 buildTo
  • 如何释放 boost::mpi::request?

    我正在尝试让 MPI 断开通信器 这是一件很棘手的事情 我在下面整理了一个演示 我有相同想法的两个版本 侦听 int 一个使用 MPI IRecv 另一个使用 boost mpi request 您会注意到 在此程序上使用 mpiexec
  • 单击单元格时的操作

    H 我是 VBA 新手 这可能是一个太简单的问题 但我正在努力使用 VBA 当单元格 1 1 被点击时 因为它有1 消息框会显示 hi Sub test click action when cell 1 1 is clicked and i
  • 如何动态更改黑莓标签字段的字体颜色?

    我有一个标签字段和三个按钮 名称分别为红色 黄色 蓝色 如果我单击红色按钮 则标签字段字体颜色应更改为红色 同样 如果我单击黄色按钮 则字体颜色应更改为黄色 同样 根据按钮颜色 标签字段中的字体颜色应发生变化 谁能告诉我该怎么做 Label
  • Laravel Session 检测到一个域、多个数据库

    我读过几篇文章 主题 例如this https stackoverflow com questions 31847054 how to use multiple databases in laravel this https medium
  • Git 存储库太大

    我有一个项目 其中包含大约 12MB 的代码和资产 我一直在使用 Git 跟踪它 并且刚刚注意到我的 git文件夹现在刚刚超过 1 83GB 它由几个小文件组成 然后是一个包文件 约占该文件夹的 1 82GB 我已经跑了git gc agg
  • 检测android中home按钮的点击事件(应用程序启动器图标)

    如何识别android中应用程序启动器图标中的点击事件 一旦用户单击此图标 我需要转到主屏幕 例如 假设这是清单文件
  • WPF 中的图像可见性问题 - 按下按钮时不显示

    我正在用 C 开发一个 WPF 应用程序 其中有一个按钮可以切换图像的可见性 我已按照说明进行操作并实现了以下代码来处理按钮单击 XAML