如何自定义属性添加到自定义三夏 [英] How to add custom properties to a custom webcontrol
本文介绍了如何自定义属性添加到自定义三夏的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想自定义类型属性添加到夏精,例如像EditRowStyle在GridView的,但在某种程度上,房地产的属性可以在ASCX / ASPX源视图中声明。很明显,GridView控件还没有得到像EditRowStyle,背景色的属性,但只有EditRowStyle了。事情是这样的:
公共类MyCustomGrid:GridView控件
{
[...]
私人MyCustomSettings customSettings;
公共MyCustomSettings CustomSettings
{
{返回customSettings; }
}
[...]
}
公共类MyCustomSettings
{
私人字符串的CssClass =默认;
公共字符串的CssClass
{
{返回的CssClass; }
集合{的CssClass =价值; }
}
}
和电网decalartion:
< C1:MyCustomGrid ID =grdCustom=服务器CustomSettings-的CssClass =customcss/>
由于该解决方案是行不通的。
解决方案
公共类MyCustomGrid:GridView控件
{
[...]
私人MyCustomSettings customSettings;
[PersistenceMode(PersistenceMode.InnerProperty),DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
公共MyCustomSettings CustomSettings
{
{返回customSettings; }
}
[...]
}
[类型转换器(typeof运算(MyCustomSettings))]
公共类MyCustomSettings
{
私人字符串的CssClass =默认;
公共字符串的CssClass
{
{返回的CssClass; }
集合{的CssClass =价值; }
}
}
I want to add custom typed properties to a webcontrol, like for example EditRowStyle in GridView, but in a way that the property's properties can be declared in Source view in ascx/aspx. It's clear that GridView hasn't got a property like EditRowStyle-BackColor, but only EditRowStyle has. Something like this:
public class MyCustomGrid : GridView
{
[...]
private MyCustomSettings customSettings;
public MyCustomSettings CustomSettings
{
get { return customSettings; }
}
[...]
}
public class MyCustomSettings
{
private string cssClass = "default";
public string CssClass
{
get { return cssClass; }
set { cssClass = value; }
}
}
And the grid decalartion:
<c1:MyCustomGrid ID="grdCustom" runat="server" CustomSettings-CssClass="customcss" />
Because this solution doesn't work.
解决方案
public class MyCustomGrid : GridView
{
[...]
private MyCustomSettings customSettings;
[PersistenceMode(PersistenceMode.InnerProperty),DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public MyCustomSettings CustomSettings
{
get { return customSettings; }
}
[...]
}
[TypeConverter(typeof(MyCustomSettings))]
public class MyCustomSettings
{
private string cssClass = "default";
public string CssClass
{
get { return cssClass; }
set { cssClass = value; }
}
}
这篇关于如何自定义属性添加到自定义三夏的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文