当我改变这个时:
public partial class FrmCategories : UserControl
到此:
public partial class FrmCategories : MyUserControl
MyUserControl
继承自UserControl
。
我收到了这个错误:
错误2'WpfTest.FrmCategories'的部分声明不得 指定不同的基类
\ Projects \ WpfTest \ WpfTest \ FrmCategories.xaml.cs 21 26 WpfTest
XAML:
<UserControl x:Class="WpfTest.FrmCategories"
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:we="clr-namespace:WpfTest"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d" Background="Azure" Height="131" Width="229">
<StackPanel Margin="5,24,5,0" Name="catFrm" Height="75" VerticalAlignment="Top">
我正在开始WPF(正如项目名称所暗示的那样),所以我希望这里有一个微不足道的错误
答案 0 :(得分:6)
您需要更改XAML文件的根元素:
<we:MyUserControl x:Class="WpfTest.FrmCategories"
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:we="clr-namespace:WpfTest"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d" Background="Azure" Height="131" Width="229">
<StackPanel Margin="5,24,5,0" Name="catFrm" Height="75" VerticalAlignment="Top">
</we:MyUserControl>
答案 1 :(得分:2)
partial
仅表示您可以将类定义拆分为不同的文件。但是仍然所有的部分定义只定义了一个类,因此只能有一个基类。
如果您想继承MyUserControl
,您还必须更改xaml代码:
<we:MyUserControl x:Class="WpfTest.FrmCategories"
...>
...
</we:MyUserControl>
另外,请注意您只需指定一次基类,即您甚至可以将C#代码更改为
public partial class FrmCategories
因为基类已在xaml中定义。