我做了一個只有一頁的專案,然后在我完成所有作業后決定回傳并制作第二頁,這是一個巨大的錯誤,因為現在我有 50 個編譯器錯誤。在我的新頁面背后的代碼中,我無法按名稱訪問任何控制元件,并且該頁面無法訪問代碼隱藏中的任何事件處理程式。這是一個例子:
Autoclicker.xaml
<Page x:Class="_1337clicker.Pages.Autoclicker"
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:_1337clicker.Pages"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800"
Title="Autoclicker">
<Grid>
<Button Name="hi"/>
</Grid>
</Page>
Autoclicker.xaml.cs
using System.Windows;
using System.Windows.Controls;
namespace _1337clicker
{
public partial class Autoclicker : Page
{
public Autoclicker()
{
hi.Content = "hello world"; //The name "hi" does not
//exist in the current context
}
}
}
uj5u.com熱心網友回復:
我認為你只是搞砸了類名/命名空間。
簽入 XAML:
x:Class="_1337clicker.Pages.Autoclicker"
Autoclicker這將在命名空間中呼叫的類中生成與控制元件相關的所有變數_1337clicker.Pages
但是,您的代碼隱藏類是:
namespace _1337clicker // <---- DIFFERENT NAMESPACE
{
public partial class Autoclicker : Page
您最終得到了兩個“Autoclicker”類,一個由 XAML 生成,另一個由您撰寫。更正名稱空間和類名,使其相同,然后重試。生成的代碼最終將與代碼隱藏在同一個類中,并且可能所有此類錯誤都會消失。
編輯:喬也注意到了,應該是x:Name. 只需“名稱”即可讓您使用樹遍歷和/或按名稱查找工具找到控制元件,但可能不會為代碼隱藏生成變數。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/513335.html
標籤:C#wpf
上一篇:利用UI的xUnit測驗方法
