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