Tag: controltemplates

后面的ASP / C#代码无法通过标记达到控制

问题: 我有这样的标记(只有重要的行): 代码隐藏: namespace MainSolution.CONTROLTEMPLATES.Kunde public partial class RTDeluxe : UserControl { protected void Page_Load(object sender, EventArgs e) { linkUl.InnerHtml = string.Empty; } } 我可以在代码隐藏中访问ul并且不会出现编译错误。 但是,当我调试代码时,我得到一个NullReferenceException因为linkUl是NULL。 首先,我认为名称空间是原因。 但是,经过几次尝试,我确信它们是正确的。 FileLocation似乎是正确的,我的iis的controltemplates文件夹有一个“Kunde”文件夹,里面有相应的ascx文件。 我有其他.ascx文件具有相同的结构 – >他们的工作就像一个魅力。 题: 这种行为的名称空间还有其他原因吗? 你有任何我可以看到的提示吗? 编辑: RTDeluxe.ascx.designer.cs文件存在,生成的linkUl如下所示: protected global::System.Web.UI.HtmlControls.HtmlGenericControl linkUl; EDIT2: 好的,我会尽力回答你的所有问题。 感谢您的时间和反馈! 我重新启动了Visual Studio – >问题仍然存在。 我也清理了解决方案并部署了一个新解决方案。 – >问题仍然存在。 当我调试并检查控件层次时,我可以看到标签不在那里。 当我更改ID时,编译器会在代码隐藏中抛出错误(这是正确的)。 如果我更改了ID,我会得到与之前相同的行为。 我也重新启动了我的IIS和整个电脑 – […]

WPF样式/模板inheritance

我正在尝试学习WPF,并试图通过使用样式使默认的.Net控件看起来不同。 使用C#作为我的首选语言,尽管下面的所有代码都是WPF标记。 我今天用新主题设置了gmail(见下图),从而让我自己成为挑战,可以在WPF中完成。 我设法实现的是通过使用带有控件模板和触发器的样式来创建中间按钮Spam 。 右侧和左侧按钮非常相似,但只有2个不同。 它们的左侧或右侧的圆角半径为1,边距为15,而中间的按钮则将它们都设置为0。 问题! Q1。 可以通过某种类型的inheritance来完成,而不是复制整个样式并仅更改这两个属性。 右侧和左侧按钮的位置基于现有样式,但它会进行这两种视觉变化。 我在创建新样式时已尝试过BasedOn属性,但无法编辑所需的属性。 Q2。 样式是在WPF中解决此问题的正确方法。 在WinForms中,您将创建一个自定义控件,该控件具有链接到枚举的可见属性,即您单击按钮,样式选项可能是Left,Middle,Right。 Q3。 最难的问题直到最后。 是否可以制作它,所以如果一个按钮应用了我的风格。 然后当您将其背景颜色设置为蓝色时。 然后按钮保持渐变但不是它们是灰白色的,它们现在是一片蓝色。 即背景线性渐变画笔基于,而不是覆盖已应用于按钮的背景颜色。 或者这些需要定义单独的样式。 我个人看不到没有某种类型的代码可以实现这一点,即在WPF标记中使用单个画笔制作渐变画笔。 即按钮如下方的蓝色按钮和灰色/普通按钮 我的风格 ps如果您发现上面WPF中的任何初学者错误,请随时向我指出。