3

我正在为 Windows 小部件开发 Silverlight 小工具。当我在我的小部件中添加另一个页面时,我发现了这个错误。我在 Stack Overflow 中发现了同样的问题,但它不适用于小部件。

我的示例代码在这里 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)
        {

        }

    }
4

1 回答 1

3

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

改变

public partial class Test:UserControl

public partial class Test

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

于 2012-12-22T10:26:00.590 回答