我在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。我希望得到太多吗?
答案 0 :(得分:0)
我认为您必须检查父母并将其投射
if(this.Parent is Panel)
{
((Panel)this.Parent).CssClass = value;
}
或类似。
答案 1 :(得分: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设计器中加载样式表。