无法访问 .xaml.cs 中文本框的文本

Can't access text of the Textbox in .xaml.cs

这很奇怪。我在 .xaml 中有一个文本块(称之为 ErrorMessage_Textblock),当我尝试在 .xaml.cs 中访问和更改它的文本时,它抛出一个错误 "The name 'ErrorMessage_Textblock' does not exist in the current context"

基本上,程序运行时ErrorMessage_Textblock 应该是空的。当用户单击“开始”按钮时,我在 .xaml.cs 中的代码会检查用户是否在文本框中填写了所有必要的信息。如果缺少一些信息,它会将一个字符串传递给 ErrorMessage_Textblock——例如 "please enter where to save the files."

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 属于同一个网格。

有关完整的指南和代码,请单击此 link: