0

タイトルには、プロパティのクラッシュに関する問題があります。私はいくつかのテキストを生成する単純なカスタムASP.Netのサーバーコントロールを作成しているカスタムWebサーバーコントロールのプロパティウィンドウからデザイン時プロパティを設定すると、Visual Studio 2010がハングする/クラッシュする

  1. は、ここでのシナリオです。

  2. 私はそのテキストのデザインタイムプロパティを提供したいので、そのスタイルにはプロパティウィンドウから開発者がアクセスできるようにしたいと思いました。
  3. プロパティウィンドウのすべてのプロパティは、作成したタイプがSystem.Web.UI.WebControls.Styleのものを除き、機能しています。

    [Bindable(true)] 
    [Category("Appearance")] 
    [Description("The style for the header")] 
    [Localizable(true)] 
    public Style HeaderTextStyle 
    { 
        get 
        { 
        Style s = (Style)(ViewState["HeaderTextStyle"] == null ? Styles.defaultHeaderStyle : ViewState["HeaderTextStyle"]); 
        return s; 
        } 
    
        set 
        { 
        ViewState["HeaderTextStyle"] = value; 
        } 
    } 
    

    ああとStyles.defaultHeaderStyleが新しいStyle返す内部クラスからわずかな特性である:

は、ここに私の財産です。

ハング/クラッシュが私がプロパティを変更したときにのみ発生するので、ゲッターからは入力できません。

何も描画していないときにもエラーが発生するため、レンダリングコントロールは貼り付けません。

この原因は何ですか?

ありがとうございます。

+0

Styles.defaultHeaderStyleは何を返しますか? –

+0

がstyle.'public静的スタイルdefaultHeaderStyle \t \t \t { \t \t \t \t)( \t \t \t \t { \t \t \t \t \tスタイル結果=新しいスタイルを取得し返し@rickschott。 \t \t \t \t \t result.Font。ボールド=真; \t \t \t \t \tリターン結果; \t \t \t \t} \t \t \t} ' –

+0

私は解決策を見つけました。私は説明を掲載します。 –

答えて

1

私の問題に対する答えが見つかりました。あなたが見

スタイルクラスは、サブプロパティを持っており、それが複雑なプロパティと呼ばれるプロパティです。 複合プロパティ(サブプロパティを持つプロパティ)は、ビューステートを使用するカスタム状態管理が必要です。 Styleクラスでは、コントロールのタグ内で永続性を有効にするためにデザイン時属性が必要です。だから私の元の投稿で書いたことはうまくいかないでしょう。私はその一例を使用してそれを実装するために管理Server Control Properties Example from MSDN

:完全な説明をご覧ください

。これが他の人にとって役に立つことを願っています。

+0

その場合、投稿を回答としてマークしてください。誰かが解決策を含む質問に簡単にアクセスできますか? – clklachu

+0

さて、私はしました。 stackoverflowは答えとして私の答えを記入するのに24時間待たなければならないと言っていたので、今までできませんでした。 –

関連する問題