簡體   English   中英

在Visual Studio(設計器視圖)中重建時,會刪除userControl中的更改

[英]Changes in my userControl are erased when I rebuild in Visual Studio (designer view)

This is my navigationItem.cs user control:


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Uboldi.Helpers;

namespace Uboldi
{
    public partial class NavigationItem : UserControl
    {
        public bool IsSelected { get; set; }
        private string _linkText = String.Empty;
        [Browsable(true)]
        public string LinkText
        {
            get { return this._linkText; }
            set
            {
                this._linkText = value;
                RefreshDisplay();
            }
        }

        public NavigationItem()
        {
            InitializeComponent();
            RefreshDisplay();
        }

        private void RefreshDisplay()
        {
            if (IsSelected)
                this.BackColor = CustomizationHelper.GetSecondaryColor();
            else
                this.BackColor = CustomizationHelper.GetPrimaryColor();

            lblText.Text = Text;
        }
    }
}

我的意圖是在另一個名為NavigationBar的用戶控件中使用它。

當我可以看到NavigationItem.cs類的LinkText屬性時,從屬性窗格中對其進行更改時,將彈出警告:

警告1您必須重新生成項目才能對Uboldi.LeftNavigationbar進行更改,以使其顯示在任何打開的設計器中。

公平地說,我進行了重建,然后我剛剛輸入的更改就消失了!

有什么想法嗎?

感謝您的時間。

設計師可能不會保留您所做的更改。

您是否嘗試使用DesignerSerializationVisibilityAttribute?

http://msdn.microsoft.com/zh-CN/library/system.componentmodel.designerserializationvisibilityattribute.aspx

這是舊的,但沒有答案。 這是我發現有效的方法。 希望這可以幫助其他人。

[Browsable(true)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
[Description("Test text displayed in the link"), Category("Data")]
public string LinkText
{
     get { return this._linkText; }
     set
     {
         this._linkText = value;
         RefreshDisplay();
     }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM