2012-01-23 29 views
0

我試圖創建一個從DataGrid派生的控件。但我做不到。我確定我錯過了一些東西,但無法弄清楚什麼?這個想法是在這個控件中移動所有與datagrid相關的邏輯,所以MainPage代碼會更少。如何擴展Silverlight內置控件?

namespace SilverlightClient.Controls 
{ 
    public partial class MyDataGrid : DataGrid 
    { 
     public MyDataGrid() 
     { 
      InitializeComponent(); 
     } 
    } 
} 

錯誤: 「SilverlightClient.Controls.MyDataGrid」的分部聲明一定不能指定不同的基類

回答

0

您有該類繼承UserControl XAML文件。
將XAML文件中的根標記更改爲<DataGrid ...>

+0

我這樣做,它會拋出錯誤 標籤「數據網格」不XML命名空間「http://schemas.microsoft.com/winfx/2006/xaml/presentation」 類型「DataGrid中存在' 沒找到。驗證您是否缺少程序集引用,並且所有引用的程序集都已構建。 我試圖刪除這些引用無濟於事。 – gangt

0

確保您在XAML中具有正確的引用:System.Windows.Controls.Data並使用該引用來定義該控件。

<data:DataGrid x:Class="... 
... 
xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data" 
... 
>