【问题标题】:how to extend a silverlight built-in control?如何扩展silverlight 内置控件?
【发布时间】:2012-01-23 18:33:51
【问题描述】:

我正在尝试创建一个派生自 DataGrid 的控件。但我做不到。我确定我错过了一些东西,但不知道是什么?想法是在这个控件中移动所有与数据网格相关的逻辑,因此 MainPage 代码会更少。

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

错误: 'SilverlightClient.Controls.MyDataGrid' 的部分声明不得指定不同的基类

【问题讨论】:

    标签: silverlight


    【解决方案1】:

    您有一个继承 UserControl 的类的 XAML 文件。
    将 XAML 文件中的根标记更改为 <DataGrid ...>

    【讨论】:

    • 我这样做了,它会抛出错误 XML 命名空间 'schemas.microsoft.com/winfx/2006/xaml/presentation' 中不存在标签 'DataGrid' 找不到类型 'DataGrid'。验证您没有丢失程序集引用并且所有引用的程序集都已构建。我尝试删除这些引用但无济于事。
    【解决方案2】:

    确保您的 XAML 中有正确的引用:System.Windows.Controls.Data 并使用该引用来定义控件。

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

    【讨论】:

      猜你喜欢
      • 2010-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多