c# - 无法访问 .xaml.cs 中文本框的文本
问题描述
这很奇怪。我在 .xaml 中有一个文本块(称为 ErrorMessage_Textblock),当我尝试在 .xaml.cs 中访问和更改它的文本时,它向我抛出一个错误,提示“当前上下文中不存在名称 'ErrorMessage_Textblock'”
基本上,当程序运行时,ErrorMessage_Textblock 应该是空的。当用户单击“开始”按钮时,我在 .xaml.cs 中的代码会检查用户是否在文本框中填写了所有必要的信息。如果缺少一些信息,它会将一个字符串传递给 ErrorMessage_Textblock——比如“请输入保存文件的位置”。
SideMenuControl.xaml:
<UserControl x:Class="Fasetto.Word.SideMenuControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup- compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:Fasetto.Word"
xmlns:core="clr-
namespace:Fasetto.Word.Core;assembly=Fasetto.Word.Core"
mc:Ignorable="d" d:DesignWidth="900" d:DesignHeight="1000"
Background="#FF2D2D30">
<UserControl.Template>
<ControlTemplate TargetType="UserControl">
<Border>
//some code ...
<Button
Click="StartButton"
Content="Start" FontSize="30" Padding="1,1,1,1" Foreground="Lime"
BorderBrush="Red"
/>
<TextBlock x:Name="ErrorMessage_Textblock" Foreground="OrangeRed"
FontFamily="/VIL_GUI_V5.0;component/Fonts/#Lato Light"
Margin="50,10,50,510" FontSize="20"
/>
SideMenuControl.xaml.cs:(注意:第 7 行在 VS 中向我抛出了一个错误)
public void StartButton(object sender, RoutedEventArgs e) {
if (Fasetto.Word.Core.IoC.Settings.Monaco_Report_Type.EditedText
== null || Fasetto.Word.Core.IoC.Settings.Monaco_Report_Type.EditedText == "")
{
//do something
ErrorMessage_Textblock = "please enter Report Type (Monaco)";
}
解决方案
我找到了自己的答案。您已经可以访问 Button,因此您可以找到它所属的网格。然后,您可以找到 TextBlock。唯一的问题是 TextBlock 与 Button 属于同一个网格。
如需完整指南和代码,请单击此链接:
推荐阅读
- odoo - 带有 AWS SES 的 Odoo 14 - 无法将从客户端收到的消息通知给成员
- api - 如何从 facebook 页面获取预约信息?
- css - 减少 fxLayout 中角度材料表单字段之间的空间 - fxLayout 间隙不起作用
- python - pygmt 绘图点改为绘制多边形
- android - Kotlin - 如何从 JSON 中提取特定数据
- kubernetes - Pod 无法访问 kubelet 端点
- java - Java 忽略导入库中的默认接口方法并将它们视为抽象
- user-interface - 寻找工具或组件将有助于用户查看跟踪数据和工作流管理
- c - 对“函数名”的未定义引用
- angular - Kendo DropDownList 自定义过滤器点击事件