当我尝试打开一个在不同项目中引用UserControl的表单时,我搜索了StackOverflow并发现了类似的问题.
我得到"为了防止在加载设计器之前可能丢失数据,必须解决以下错误:"与以下两个错误相关的消息:
和
InformationBox1是设计器中表单上的用户控件InformationBox的一个实例 - 它只是被引用为;
Friend WithEvents InformationBox1 As MyNamespace.CommonUi.InformationBox
"MyNamespace.CommonUi"项目成功构建.
我在项目中得到智能感知,所以我有理由相信它被正确引用了.
到目前为止,和其他人一样:
这个项目已经从VS2005中的.NET2/x86迁移到VS2012中的.NET4/x64.
现在,当解决方案在64位下运行时,它不起作用,我得到了这个设计器错误.但是,如果我将其切换到32位(技术上是AnyCPU),我可以打开设计师就好了.
我已经阅读了类似线程中的其他建议,但他们没有看到提供任何解决方案(我甚至已经走了"左移和右移以使其重建"选项)
Visual Studio 2010是否有一个扩展,用于在WinForms应用程序项目中打开表单,组件等代码,默认情况下双击解决方案资源管理器(并在设计器视图中通过上下文菜单)?
.net visual-studio-2010 visual-studio-designer visual-studio winforms
我为WPF编写了一个标记扩展,允许我这样做
<!-- Generic Styles -->
<Style x:Key="bold" TargetType="Label">
<Setter Property="FontWeight" Value="ExtraBold" />
</Style>
<Style x:Key="italic" TargetType="Label">
<Setter Property="FontStyle" Value="Italic" />
</Style>
<Style x:Key="gridHeader" TargetType="Label"
BasedOn="{WPF:CombiStyle bold italic }" >
Run Code Online (Sandbox Code Playgroud)
它是一个非常有用的扩展,它在运行时运行良好.但是在设计时我看不到应用的样式,或者如果我输错粗体和斜体,它们可能不会被发现为StaticResources.
我能做些什么来搞定这个?
扩展的源代码是
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Markup;
namespace MarkupExtensions
{
[MarkupExtensionReturnType(typeof(Style))]
public class CombiStyleExtension : MarkupExtension
{
private string[] MergeStyleProviders { get; set; }
public CombiStyleExtension(string s0)
{
MergeStyleProviders = s0.Split(new[]{' '});
}
public override object ProvideValue(IServiceProvider
serviceProvider)
{
return MergeStyleProviders …Run Code Online (Sandbox Code Playgroud) 我已将大型多项目解决方案中的所有图像资源移动到专门为共享资源创建的新项目中.
向使用共享映像的其他项目添加新引用正在按预期工作.下面所选按钮中的图像继续出现在设计器中,但有问题.
在VS Designer中,我无法在图像编辑器中选择共享资源,而是手动编辑设计器代码.
更具体地说,在图像编辑器对话框中(从现有控件的"图像"属性访问),我选择"从文件/资源中选择..."以弹出"选择资源"对话框(如图所示).在那里,我曾经在访问所有本地项目资源(Resources.resx),我现在想要添加对新共享资源项目的访问权限.理想情况下,我会在显示的下拉列表中添加第二项,切换到共享资源项目的resx.
如何才能做到这一点?有没有更好的办法?
alt text http://permalink.gennetten.com/SharedResourcesIssue.png
我使用Visual Studio 2015创建了一个C++ UWP Windows 10应用程序.但是,我无法在设计器中可视化任何xaml,因为我总是收到System.NullReferenceException错误.我怎样才能解决这个问题?
xaml visual-studio-designer win-universal-app windows-10 visual-studio-2015
有没有办法禁用单个UserControl的设计视图 - 而不禁用其他控件的设计视图?
我的某些控件不支持设计视图,在这些情况下,我更喜欢它们只是加载xaml编辑器.
我可以在代码中放置一些禁用设计视图的东西吗?
我正在尝试清除解决方案中的所有设计器错误,并遇到以下错误:
无法为此文件显示设计器,因为其中的所有类都无法设计.设计者检查了文件中的以下类:DoubleAttributeTextBoxBase ---无法加载基类'NumericAttributeTextBoxBase'.确保已引用程序集并且已构建所有项目.
这些类都在同一个程序集中定义,所以我知道它不是引用问题.我想知道它是否与基类是通用的事实有关.有任何想法吗?
public class DoubleAttributeTextBoxBase : NumericAttributeTextBoxBase<double>
public class NumericAttributeTextBoxBase<T> : TextBox where T : IComparable, IComparable<T>
Run Code Online (Sandbox Code Playgroud) 我正在尝试在Windows 7上的Visual Studio 2010中设置新的Windows窗体应用程序(C++/CLI).每次我尝试打开设计器时,它都会失败并出现这个无用的错误:
Exception from HRESULT: 0x8CE00001
Instances of this error (1)
1. Hide Call Stack
at Microsoft.VisualStudio.Designer.Interfaces.IVSMDCodeDomProvider.get_CodeDomProvider()
at Microsoft.VisualStudio.Shell.Design.Serialization.CodeDom.CodeDomDocDataAdapter.get_Provider()
at Microsoft.VisualStudio.Shell.Design.Serialization.CodeDom.CodeDomDocDataAdapter.get_CompileUnit()
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.DeferredLoadHandler.Microsoft.VisualStudio.TextManager.Interop.IVsTextBufferDataEvents.OnLoadCompleted(Int32 fReload)
Run Code Online (Sandbox Code Playgroud)
如果我调试Visual Studio并打破CLR异常,它实际上首先抛出此异常:
Microsoft.VisualStudio.Design.dll中出现"System.ArgumentException"类型的第一次机会异常
附加信息:参数不正确.(HRESULT异常:0x80070057(E_INVALIDARG))
使用此调用堆栈:
> Microsoft.VisualStudio.Design.dll!Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.VerifyNestedDocDataCompatible() + 0x15d bytes
Microsoft.VisualStudio.Design.dll!Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.Microsoft.VisualStudio.Designer.Interfaces.IVSMDDesignerLoader.Initialize(object pSp, object pHier, int itemid, object punkDocData) + 0xb5 bytes
[Native to Managed Transition]
vcpkg.dll!CVCFormEditorFactory::CreateEditorInstance() + 0x2e49f bytes
msenv.dll!CVsUIShellOpenDocument::OpenSpecificEditor() + 0x784 bytes
VCProject.dll!CVCFileNode::OpenSpecificEditor() + 0xc6 bytes
VCProject.dll!CVCFileNode::OpenSpecificEditor() + 0x3a bytes
VCProject.dll!CVCFileNode::DoOpenFile() + 0x1fe bytes
VCProject.dll!CVCFileNode::DoDefaultAction() + 0x5b bytes
VCProject.dll!CVCArchy::ExecCommand() + …Run Code Online (Sandbox Code Playgroud) 我一直在做一个控件,并为(CustomClass)列表添加了一个属性。该自定义类包含一个字符串,一个图像以及另一个包含一个字符串和一个图像的自定义类的列表。我已通过添加可浏览属性将此属性添加到设计器中,并且所有属性似乎均可与此一起正常工作。
运行程序时出现我的问题。我可以在属性中设置所有值,然后可以返回它们并保存它们,但是,一旦我运行该程序,由于该属性设置为Nothing,这些值将被清除。
为了允许编辑和保存我的属性,我意识到我必须初始化列表,并且已经在属性的accessor方法中进行了初始化(如果属性的值为空)。
我已经在设计器中修改了值,并在使用该属性及其基础字段的所有项目以及该属性的方法本身上放置了一个断点。第一个断点命中是访问它,该值始终为空。
我不确定应该将值存储在哪里,因为我已经检查了设计器代码,该值通常将在其中存储诸如字符串之类的类型,并且我已经检查了资源以查看它们是否已保存在那里(就像图像一样)。 。运行代码后,设计器中的值也将被清除。
控件内的一些代码
Private _Items As List(Of Models.Category) = New List(Of Models.Category)
<Browsable(True), _
EditorBrowsable(EditorBrowsableState.Always), _
Category("Data"), _
Description("The items with sub items that should be displayed"), _
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)> _
Public Property Items As List(Of Models.Category)
Get
'Return _Items
Return Me.ExpMenu1.Categories
End Get
Set(ByVal value As List(Of Models.Category))
Me.ExpMenu1.Categories = value
'_Items = value
End Set
End Property
Run Code Online (Sandbox Code Playgroud)
ExpMenu1中有问题的代码
''' <summary>
''' Gets or sets the categories.
''' </summary>
''' <value>The categories.</value>
Public Property Categories() As …Run Code Online (Sandbox Code Playgroud) .net vb.net user-controls visual-studio-designer visual-studio
这个问题有点轶事,但对我来说仍然很有趣; 我想知道为什么Visual Studio 2008不喜欢以下常量使用:
public class Service101 : ServiceBase
{
/// <remarks>
/// Shown at Start -> Settings -> Control Panel -> Administrative Tools -> Services
/// </remarks>
internal const string SERVICE_NAME = "WinSvc101";
/// <remarks>
/// Shown at Start -> Settings -> Control Panel -> Administrative Tools -> Services
/// </remarks>
internal const string DISPLAY_NAME = "Windows Service 101";
/// <summary>
/// Public constructor for Service101.
/// </summary>
public Service101()
{
InitializeComponent();
}
private void InitializeComponent()
{ …Run Code Online (Sandbox Code Playgroud) 我有一个即将完成的应用程序,它使用多个数据模板。具体来说,我有一个 ListView 和一个 DataGrid。
我为这些项目创建了一些特殊的格式,我想预览这些列表项目之一,以便我可以调整视觉布局、颜色、填充、边距等。
这可以在 Visual Studio 设计器中完成吗?还是我必须在 Xaml 中手动设计这些模板,并通过运行应用程序进行预览?
wpf xaml visual-studio-designer visual-studio visual-studio-2013
当 VS 设计器已经使用DebuggerNonUserCode属性实现它时,如何在 UserControl 上实现 Dispose(boolean) ?我对这个方法的修改会被删除吗?
(来自 UserControl.Designer.vb 的代码)
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Run Code Online (Sandbox Code Playgroud)