Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# “再创造”;“字体”;财产行为_C#_Asp.net_Intellisense_Web Controls_System.componentmodel - Fatal编程技术网

C# “再创造”;“字体”;财产行为

C# “再创造”;“字体”;财产行为,c#,asp.net,intellisense,web-controls,system.componentmodel,C#,Asp.net,Intellisense,Web Controls,System.componentmodel,继承自System.Web.UI.WebControls.WebControl的控件有一个名为Font的属性。类型为System.Web.Ui.WebControls.FontInfo 在设计器中使用这些控件时,它将Font属性分解为多个属性,如Font-Bold、Font-Italic等。在codebehind中使用这些相同的网络控件时,只有Font属性(无Font-Bold、Font-Italic等) 在创建WebControl时,如何手动重新创建此行为?具体来说,System.Compon

继承自
System.Web.UI.WebControls.WebControl
的控件有一个名为
Font
的属性。类型为
System.Web.Ui.WebControls.FontInfo

在设计器中使用这些控件时,它将
Font
属性分解为多个属性,如
Font-Bold
Font-Italic
等。在codebehind中使用这些相同的网络控件时,只有
Font
属性(无
Font-Bold
Font-Italic
等)


在创建WebControl时,如何手动重新创建此行为?具体来说,
System.ComponentModel
属性的什么组合可以在Intellisense中显示/隐藏这些属性?

您应该能够访问粗体、斜体等布尔属性:


属性崩溃正在自动发生

如果控件的属性具有自己的属性

public class ServerControl1 : WebControl
{
   public CompositeItem Composite { get; set; }

    public ServerControl1()
    {
        Composite = new CompositeItem();
    }
}

public class CompositeItem
{
    public bool ItemOne { get; set; }
    public string ItemTwo { get; set; }
    public int ItemThree { get; set; }
}
您可以在aspx中使用粗体字体语法,这意味着

<cc:ServerControl1 runat="server" ID="scOne" 
    Composite-ItemOne="true" Composite-ItemTwo ="stringx"/>


将按预期工作。但是,autocomplete不起作用,我不确定需要哪个
System.ComponentModel
属性组合才能使其表现为粗体字体。

您要扩展的属性(
在本例中为Font
)应将属性
System.ComponentModel.DesignerSerializationVisibility
设置为
System.ComponentModel.DesignerSerializationVisibility.Content
。下面的链接详细介绍了这一点


对。但是字体属性不会在设计器模式下显示,只在代码隐藏中显示。此外,粗体字体、斜体字体等不会显示在代码后面,只显示在设计器模式下。我希望能够在我的网络控件上创建这样的属性。啊~我不知道它会自动提供这些扩展属性。实际上,此时的问题是
System.ComponentModel
属性的什么组合会导致继承自
System.Web.UI.webcontrols.WebControl的webcontrols中的行为
<cc:ServerControl1 runat="server" ID="scOne" 
    Composite-ItemOne="true" Composite-ItemTwo ="stringx"/>