2012-12-22 26 views
3

我正在開發用於Windows小部件的Silverlight小工具。當我在我的小部件中添加另一個頁面時,我發現這個錯誤。 我在Stack Overflow中發現了同樣的問題,但它不是用於小部件的。部分聲明不能在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) 
     { 

     } 

    } 

回答

3

您的代碼後面指定一個基類的UserControl但你的XAML文件指定一個基類的Page (文檔的根節點對應於該類型的基類)。

變化

public partial class Test:UserControl 

public partial class Test 

而且一切都會好起來。值得注意的是,你實際上不必在部分類的所有部分指定基類。由於基類是在XAML文件中設置的,因此不需要在代碼後面的類中再次指定它(但是,如果您這樣做了,它必須與XAML中指定的類型匹配)。

+0

,但我不能從導航主頁此頁面在Silverlight小工具 – Asik

+0

我怎樣才能瀏覽這個測試頁,我在Silverlight的小工具主網頁,有Silverlight的小工具的引用都是如常。 – Asik

+1

@Asik對不起,我沒有使用Silverlight小工具,你的問題似乎是關於編譯器錯誤(與不匹配的基類有關)。您可能想要在小工具中打開一個關於導航的新問題。 – mlorbetske

相關問題