多数のパネル コントロールを含むユーザー コントロールがあります。ユーザー コントロールには、ユーザー コントロールに含まれるいくつかの変数の値に基づいて、各パネルの可視性を設定するロジックがあります。
次の列挙を追加して、この機能を強化したいと思います。
public enum Visibility
{
Default,
Always,
Never
}
whereDefault
は現在のロジックを使用してパネルの可視性を設定しますが、Always
(明らかに) パネルを常に表示し、常にNever
パネルを非表示にします。
PanelVisiblity
また、開発者が展開できるような名前の「ネストされた」設計時プロパティを追加し、以下にリストされているパネル名を表示しVisibility
て、それぞれの列挙から値を割り当てることができるようにしたいと考えています。
次のようなプロパティを追加すると:
public partial class MyControl : UserControl
{
public Visibility ActivePanel { get; set; }
public Visibility CodePanel { get; set; }
}
ActivePanel
およびプロパティが Visual Studio の [プロパティ] ウィンドウに表示され、CodePanel
それらを列挙型の 3 つの値のいずれかに設定できます。ただし、コードをリファクタリングして、次のようなネストされたプロパティを作成しようとすると:
public partial class MyControl : UserControl
{
public class PanelVisibility
{
public enum Visibility
{
Default,
Always,
Never
}
public Visibility ActivePanel { get; set; }
public Visibility CodePanel { get; set; }
}
}
展開可能なプロパティを取得せずPanelVisiblity
、無効なプロパティを取得しVisiblity
ます。値は、クラスの名前空間に「PanelVisibility」を加えたものです。
この検索の言い回しでさまざまなバリエーションを Google で検索しましたが、探しているようなものを見つけることができませんでした。
どんな方向性でも大歓迎です。