我用的是VB。Net 2012 With WPF
代码Public Class UserControl1
Inherits Adorner
Sub New(AdornedElement As UIElement)
MyBase.New(AdornedElement)
'Err Found Here
End Sub
Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
End Sub
End Class
错误:基类System.Windows.Controls。为类UserControl1指定的UserControl不能与基类System.Windows.Documents不同。
请帮
。...编辑:添加UserControl的XAML Code
<UserControl x:Class="UserControl1"
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>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Text=" This is Child Control " HorizontalAlignment="Center" VerticalAlignment="Center"/>
<Button Grid.Row="1" Content="Close Child Control " HorizontalAlignment="Center" VerticalAlignment="Center" Click="Button_Click"/>
</Grid>
</UserControl>
编辑:错误。添加UserControl到Adorner
Error 6 Base class 'System.Windows.Controls.UserControl' specified for class 'UserControl1' cannot be different from the base class 'System.Windows.Documents.Adorner' of one of its other partial types. D:Data - 2012TempWPF AdornersWPF AdornersobjDebugUserControl1.g.i.vb 42 14 WPF Adorners
Error 1 Cannot add content to an object of type "Adorner". D:Data - 2012TempWPF AdornersWPF AdornersUserControl1.xaml 8 5 WPF Adorners
Error 2 Type 'Adorner' is not usable as an object element because it is not public or does not define a public parameterless constructor or a type converter. D:Data - 2012TempWPF AdornersWPF AdornersUserControl1.xaml 1 2 WPF Adorners
Error 3 The type 'Adorner' does not support direct content. D:Data - 2012TempWPF AdornersWPF AdornersUserControl1.xaml 8 5 WPF Adorners
Error 4 Cannot add content to object of type 'System.Windows.Documents.Adorner'. Line 8 Position 6. D:Data - 2012TempWPF AdornersWPF AdornersUserControl1.xaml 8 6 WPF Adorners
正如@Robert所建议的。
当您在相应的XAML文件后面的代码中更改继承时,您必须更改XAML中的标记。
您需要在XAML中进行如下更改:(参见第一个标签和最后一个标签)
<Adorner x:Class="UserControl1"
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>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Text=" This is Child Control " HorizontalAlignment="Center" VerticalAlignment="Center"/>
<Button Grid.Row="1" Content="Close Child Control " HorizontalAlignment="Center" VerticalAlignment="Center" Click="Button_Click"/>
</Grid>
</Adorner>
更新 Adorner
是一个抽象类,所以你不能直接使用它,相反,你必须在此之外创建派生类,然后从本地Adorner类派生UserControl
或使用任何现有的派生Adorner类。
查看此主题的代码工程文章。
查看控件的XAML -它会显示基类是UserControl。