0

我正在 Visual Studio 2008 中测试一个简单的用户控件:一个以Wrapper内部控件命名的面板。Visual Studio 可以在设计时处理这个问题吗?

public partial class TestControl : System.Web.UI.UserControl
{
    [Description("Css class of the div around the control.")]
    [CssClassProperty]
    public string CssClass
    {
        get { return Wrapper.CssClass; }
        set { Wrapper.CssClass = value; }
    }
}

设置 CssClass 属性时,它不会在设计时更新 Panel 的 css。我希望太多了吗?

4

2 回答 2

0

我认为您必须检查父母并进行投射

if(this.Parent is Panel)
{
   ((Panel)this.Parent).CssClass = value;
}

或类似的。

于 2010-05-06T08:33:43.380 回答
0

在 VS IDE 中设计页面可能是一个令人头疼的问题,因为当通过代码隐藏或整个站点继承的全局页眉(例如,通过子类化)加载内容时,IDE 不知道 ASPX 加载的 CSS PAGE。)这使得使用 VS IDE 设计那些子页面/控件/等变得非常困难。将 CSS 插入子文档或控件不是一种选择,因为编译后的页面通常会包含对样式表,并且很可能甚至在声明之前提供第一个引用。

这是让 Visual Studio 在 IDE 中使用任意 CSS 的一种方法,因此您可以使用设计人员不知道服务页面中存在的 CSS 来设计控件。因此,您可以使用它在编辑器中的设计时使 CSS 可用,但在调试或运行时不可用。我很确定这也适用于您的场景。

插入这个:

<% 
#If 0 Then
%>    
    <link rel='stylesheet' href='mycss.css' type='text/css' />        
<%
#End If
%>

这只会在 IDE 的 html 设计器中加载您的样式表。

于 2014-08-02T03:24:49.880 回答