WPF xaml中生成的控件具有AutomationProperties.Name属性会导致在cs中找不到的问题

问题遇到的现象和发生背景

拖拽控件到设计器里,运行没问题,第一次在.cs中也能得到 this.shilong控件,但是一运行(调试或者启动或者Ctrl+F5)马上.cs里的this.shilong就报错,上下文找不到shilong
shilong是控件拖入设计器后在属性里修改的Name的值

img

在xaml里会自动生成 AutomationProperties.Name

img

在cs中第一次写入没问题

img


一旦运行就错误

img


一旦错误后就会找不到shilong

img

但是如果删除AutomationProperties.Name直接改为Name就没有任何问题
这是为什么?有没有什么办法解决这个问题,不然每次在属性里修改Name都会这样很麻烦

img

img

img

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

你需要区分 AutomationProperties.Name 和 x:Name 两者的区别。
正确的使用方式:

<TextBox x:Name="tb1" ... AutomationProperties.Name="shilong"/>

MessageBox.Show(this.tb1.Text);

以下链接或许对你有用:
https://stackoverflow.com/questions/4605777/automationproperties-name-vs-xname