相关疑难解决方法(0)

如何根据属性值更新设计时UserControl接口?

我创建了一个具有以下公共属性的UserControl:

[Browsable(true)]
public string Text
{
    get { return pnlLookupTable.GroupingText; }
    set { pnlLookupTable.GroupingText = value; }
}
Run Code Online (Sandbox Code Playgroud)

正如您可能已经猜到的那样,pnlLookupTable是一个Panel控件.我可以在"属性"窗口中更改Text属性的值,它会像标记一样反映在标记中.但是,页面内UserControl的设计视图不会显示Panel的更新GroupingText.我怎么能让这件事发生?

编辑:

根据请求,这是该属性所属的整个类.你可以看到没有什么特别的事情:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class LookupTable : System.Web.UI.UserControl
{
    [Browsable(true)]
    public string Text
    {
        get { return pnlLookupTable.GroupingText; }
        set { pnlLookupTable.GroupingText = value; }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是.ascx文件的相关部分:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="LookupTable.ascx.cs" Inherits="LookupTable" %>
<asp:Panel ID="pnlLookupTable" runat="server" GroupingText="Lookup Table">
    <%-- Irrelevant content here. --%>
</asp:Panel> …
Run Code Online (Sandbox Code Playgroud)

asp.net user-controls webforms designer visual-studio-2008

5
推荐指数
1
解决办法
4816
查看次数

使用通用EventHandler <>的事件在Designer中不可见

我刚才注意到,如果我使用通用事件处理程序向我的UserControl添加一个事件,那么当我将用户控件添加到表单时,该事件在设计器中是不可见的.

public event EventHandler<TEventArgs<int>> EventNotVisibleInDesigner;
public event EventHandler EventVisibleInDesigner;
Run Code Online (Sandbox Code Playgroud)

不是特别令人担忧,但这是设计/正常,还是我做错了什么?

events designer visual-studio winforms

4
推荐指数
1
解决办法
863
查看次数