编程语言
首页 > 编程语言> > c# – “MyApp”类型已包含“MystatusBar”的定义

c# – “MyApp”类型已包含“MystatusBar”的定义

作者:互联网

MyApp.XAML

<StatusBar Name="MystatusBar" DockPanel.Dock="Bottom" BorderBrush="Black"
                 Background="{StaticResource DarkBrush}">
                <StatusBarItem>
                    <TextBlock x:Name="m_StatusBarLineInfo"/>
                </StatusBarItem>
                <StatusBarItem>
                    <Separator/>
                </StatusBarItem>
                <StatusBarItem>
                    <TextBlock x:Name="m_StatusBarMessage"/>
                </StatusBarItem>
            </StatusBar>

MyApp.g.cs

     #line 722 "..\..\MyApp.xaml"
        [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
        internal System.Windows.Controls.Primitives.StatusBar MystatusBar;

 case 106:
            this.MystatusBar = ((System.Windows.Controls.Primitives.StatusBar)(target));
            return;

MyApp.xaml.cs

internal StatusBar MystatusBar;
case 110:
                    this.MystatusBar = (StatusBar)target;
                    break;

这是一个usercontrol StatusBar.错误显示“类型’MyApp’已经包含’MystatusBar’的定义”

构建项目时自动创建MyApp.g.cs文件.我坚持这个.

解决方法:

每当您像下面这样命名XAML元素时:

<StatusBar Name="MystatusBar" ... />

Visual Studio将使用该名称为您创建一个成员,以便您可以从代码隐藏中访问它.这是您在MyApp.g.cs中看到的实例,它是生成的文件.更改XAML时会自动创建它.

因此,当您尝试在后面的代码(MyApp.xaml.cs)中自己声明另一个具有相同名称的引用时,您会收到错误,因为所有这三个文件都编译到同一个类中.

您不需要手动声明.您可以使用Visual Studio已经为您创建的那个.

标签:c,c-4-0,wpf,wpf-controls
来源: https://codeday.me/bug/20190628/1320315.html