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

VS IDE では、コード ビハインドまたはサイト全体が継承するグローバル ページ ヘッダー (サブクラス化など) によってコンテンツが読み込まれるときに、ASPX によって読み込まれた CSS を IDE が認識しないため、ページのデザインは大きな頭痛の種になる可能性があります。サブページやコントロールなどを設計するのに VS IDE を使用することは非常に困難です。CSS をサブドキュメントやコントロールに挿入することはオプションではありません。スタイルシートであり、宣言の前でも最初の参照を提供する可能性が非常に高いです。

IDE で任意の CSS を使用するように Visual Studio を取得する方法の 1 つを次に示します。これにより、CSS を使用して、デザイナーが提供されたページに存在することを認識しないコントロールを設計できます。したがって、これを使用して、エディターで設計時に CSS を使用できるようにすることができますが、デバッグまたは実行時には使用できません。これはあなたのシナリオでもうまくいくと確信しています。

これを挿入します:

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

これにより、スタイル シートが IDE の html デザイナーにのみ読み込まれます。

于 2014-08-02T03:24:49.880 に答える
0

親をチェックしてキャストする必要があると思います

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

または類似。

于 2010-05-06T08:33:43.380 に答える