WPF自定义用户控制 - "成员X无法识别或无法访问"

时间:2015-09-04 13:22:56

标签: c# wpf xaml

我有这个自定义控件但无法从我的主XAML访问其成员

<UserControl x:Class="FireflyMmwDiagnostics.Controls.RegisterTextBox"
         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" 
         mc:Ignorable="d" 
         d:DesignHeight="300" d:DesignWidth="300">
<Grid>
    <Label Name="LabelRegisterTitle"/>
</Grid>

public partial class RegisterTextBox : UserControl
{
    public RegisterTextBox()
    {
        InitializeComponent();
    }

    public string RegisterTitle
    {
        get { return this.LabelRegisterTitle.Content.ToString(); }
        set { this.LabelRegisterTitle.Content = value; }
    }

这就是我在主XAML中所得到的错误陈述&#34;成员RegisterTitle无法识别或无法访问&#34;:

<Controls:RegisterTextBox RegisterTitle="This Is A Test"/>

我观看了几个YouTube视频,这正是他们如何做到的,并且出于某种原因它对他们有效。 请告知这里可能出现的问题。 谢谢!

2 个答案:

答案 0 :(得分:2)

尝试将您的媒体资源更改为Dependency Properties

这应该有帮助,因为它有示例代码 - Why am I seeing a “member is not recognized or is not accessible” error on my WPF User Control?

<强>更新

在不使用依赖项属性的情况下,您的代码可以正常使用,因此需要尝试以下几点:

  • 在您的控制中,请务必使用</UserControl>
  • 结束
  • 更改Controls:RegisterTextBox以使用小写字母'c',因此controls:RegisterTextBox

答案 1 :(得分:2)

您可能需要重建才能看到RegisterTitle

如果这不起作用,请确保您已在XAML中定义项目中Controls,否则它肯定无法看到它!

例如:

<Window xmlns:Controls="clr-namespace:FireflyMmwDiagnostics.Controls.RegisterTextBox">