![](/img/trans.png)
[英]I need to rebuild my entire solution to get the Visual Studio Test Explorer to notice changes
[英]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?
这是旧的,但没有答案。 这是我发现有效的方法。 希望这可以帮助其他人。
[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.