部分声明不得在Silverlight小工具中指定不同的基类



我正在开发一个用于Windows Widget的Silverlight小工具。当我在小部件中添加另一个页面时,我发现了此错误。我在堆栈中发现了相同的问题,但不是针对小部件。

我的示例代码在这里xaml代码

<navigation:Page x:Class="SilverlightGadgetDocked.Test" 
           xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
           xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
           xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
           xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
           mc:Ignorable="d"
           xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
           d:DesignWidth="359" d:DesignHeight="225"
           Title="Test Page">
    <Grid x:Name="LayoutRoot">
        <Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="182,103,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" />
    </Grid>
</navigation:Page>

和CS代码在这里,

public partial class Test:UserControl
    {
        public Test()
        {
            MessageBox.Show("af");
            InitializeComponent();
        }
        // Executes when the user navigates to this page.
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
        }
        private void button1_Click(object sender, RoutedEventArgs e)
        {
        }
    }

您的代码在指定的UserControl的基类背后,但是您的XAML文件指定了Page的基类(文档的根节点对应于该类型的基类)。

更改

public partial class Test:UserControl

to

public partial class Test

一切都会很好。值得注意的是,您实际上不必在部分类别的所有部分上指定基础类。由于基类是在XAML文件中设置的,因此无需在后面的代码中的类中再次指定它(但是,如果您这样做,则必须匹配XAML中指定的类型)。

最新更新