问题标签 [visual-inheritance]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
382 浏览

c# - Silverlight 自定义属性继承

我有一个继承自 UserControl 的类,具有自定义的 DependencyProperty。我在里面放了一个标准按钮(不一定是直接子按钮),我想在按钮上获取自定义 DP 的值,如下所示:

它几乎是可视化树中的属性继承,但 x 为空,而不是“你好”。

在 Silverlight 中可以进行这样的财产继承吗?
(不,我不想将 userControl 放入它自己的 DataContext 中,我的 ViewModel 需要 DC,MyDependency 是视图的属性,而不是视图模型)

0 投票
1 回答
611 浏览

c# - 视觉继承问题,Visual Studio 2008 C#

我在使用 Visual Studio 2008 C# 时遇到了这个问题。有一个基本窗体和许多继承自它的 Windows 窗体。(是的,我想我在尝试继承之前已经编译了基本表单。)

派生形式可以顺利编译,没有错误,但它们只显示从基本形式继承的内容。换句话说,所有派生窗体在运行时的外观和行为都与基本窗体完全相同,即使它们在设计时有所不同——它们有许多基本窗体上没有的控件。

以前有没有人遇到过这个问题,它是如何解决的?

0 投票
3 回答
3565 浏览

c# - WinForms ToolStrip 在视觉继承中不可用

可以说我有 FormChild 继承 FormParent。在父级中,顶部有一个工具提示。我想要的是在我的子窗体中添加额外的元素,但是控件始终被锁定,尽管我已将修饰符设置为protected

上网查了一下,好像是个众所周知的bug;但是有人知道解决方法吗?

0 投票
1 回答
916 浏览

c# - 视觉继承问题

我已经构建了一个基本用户控件 BaseViewControl,它上面有一个 dataGridView 和一个 bindingSource。两者都有受保护的访问修饰符。dataViewGrids dataSource 指向基本表单 bindingSource。

然后我创建了一个 InheritedUserControl ApplicationUserView,当提示时我将它指向我的 UI 程序集。它在同一个程序集中继承了其他一些 arb UserControl,因此我手动将其更改为继承我的 BaseViewControl。

在 ApplicationUserView 的 bindingSource 上,我将 dataSource 属性设置为我的 ApplicationUser 域对象。然后,dataGridView 继续使用 DesignView 中我的 ApplicationUser 域类中的属性填充其列,正如预期的那样。

现在,在来自我的控制器对象的异步回调中,视图接收 IList<ApplicationUser>,我设置了我的 bindingSource.DataSource = applicationUserList。

我已经确认回调被调用并且 applicationUserList 中有项目,但在运行时,网格不显示任何行。我怀疑这与这一切的视觉继承方面有关。

我已经看到 VS 在您之前尝试修改继承项目的属性时从继承表单创建项目副本到继承表单,这具有类似的效果,但情况并非如此。

任何想法我做错了什么?

谢谢, HS

0 投票
1 回答
208 浏览

interface-builder - 如何“关闭”从 UIView 到 IB 视图内控件的透明度继承?

我在界面构建器(Xcode 4.1)中有一个 UIView,它的 alpha 设置为 0.1 。在该视图之上,还有一些 UIbutton 对象。这些按钮是该视图的子项,而不是简单地位于其顶部 - 我在对象资源管理器中清楚地看到了这一点。问题是,这些按钮从它们的父视图继承了 alpha 设置。如何关闭此 alpha 继承?

0 投票
1 回答
377 浏览

.net - VS2010中的WinForms视觉继承问题

快速了解相关项目的背景:它是 C# .Net 4、带有智能客户端工厂的 WinForms,不幸的是有很多视觉继承。

以下是我正在处理的团队遇到的问题的简要概述,这似乎是相当断断续续的:

有人会打开其中一个客户端模块项目以开始处理其中一个视图,双击该视图以打开设计器,Visual Studio 会给他们一个设计时错误,例如:

没有退路。如果您从这里重建而不做以下工作,那么错误仍然会持续存在。我们发现的唯一解决方法是清理客户端解决方案,关闭 Visual Studio(您必须这样做),重新打开 Visual Studio 并重建解决方案。下次您尝试打开视图时,它将起作用。但是错误会再次出现 - 它似乎是在X次重建之后(可能仅在您构建解决方案时在设计器中打开视图时?)

没有人花时间真正深入研究这个问题,目前没有人有时间!所以我想知道(有点长镜头)是否有人可能对可能发生的事情有所了解?或者,一旦我们有时间研究这个问题,也许就知道从哪里开始挖掘?

0 投票
1 回答
816 浏览

c# - 从基本形式调用派生形式的方法

我一直在尝试使用 Visual Inheritance,以便我可以以多种形式重用一组按钮。

基本上我想要实现的是,我希望按钮在不同的表单中具有相同的视觉行为,但是,它们应该根据继承它的表单执行不同的操作。

假设我有以下按钮FormButtonBar

新 | 编辑 | 搜索 | 取消 | 关闭

它们应该被禁用或根据当前情况更改其文本和图标(我使用.Tag),这些是显示的替代选项

保存 | 保存 | 删除 | 取消 | 关闭

即使我在继承它的表单上按预期工作,我显然希望这些按钮根据我拥有的表单来处理不同的内容。

我想到的是一种调用方法的方法,就像saveNewItem() saveChangedItem() removeItem()每个表单继承FormButtonBar都应该有的那样。

但是我该如何称呼他们FormButtonBar呢?

例如:

0 投票
1 回答
312 浏览

c# - 如何在设计模式下隐藏继承的控制标记

在此处输入图像描述

在屏幕截图中,您可以看到两种形式:

  1. 具有继承控件的设计模式中的控件。此控件由特殊符号标记。

  2. 打印包含此符号的预览表格。

问题:

如何在表单上或至少在打印预览中删除(或使其不可见)此符号?

0 投票
1 回答
84 浏览

vb.net - 在派生表单之间共享代码

我在我的一个项目中实现了视觉继承。从基础形式有两种派生形式。我也有两个来自一个基类的常规派生类。每个派生形式都处理派生类之一,该派生类实例化适当类的对象。例如,有一个名为“letter”的基本形式和两个派生形式“A”和“B”,而有一个基类“base”和两个派生类“a”和“b”。当我“调用”“A”时,“a”中的对象被实例化,“b”和“B”的规则相同。

我在“A”表单上所做的是使用几个文本框来填充“a”类中对象的属性,并且在“B”表单的情况下,使用“b”类填充对象的属性。

我有点期待做的是从程序的某个点“调用”每个表单(“A”或“B”) - 在这种情况下,另一个表单 - 并处理我用实例化的对象正确形式的事件。

问题是我的“A”和“B”形式的事件代码在 95% 的情况下都是相同的。我首先认为我可以将所有这些放在基本形式(“字母”)上并在那里使用派生对象,但我不能。这基本上是因为我不能使用我在派生表单上实例化的对象以及来自基本表单的事件。例如,我不能使用我在“A”上创建的“a”类中的一个对象以及“字母”上的事件,尽管我可以使用我在“上”创建的“a”类中的一个对象字母”与“A”上的事件。经过一番思考,我确实明白为什么会发生这种情况。

我的解决方案是将所有事件代码放在“A”和“B”表格上,效果很好。

问题是我来自表格“A”和“B”的事件在 95% 的情况下仍然相似。我认为我正在做一些非常混乱和不必要的事情。所以,我的问题是:如何优化我的工作,以便我只能编写一次事件?大声笑,长帖子和短问题。我很感激任何帮助。

谢谢,

里卡多·S。

0 投票
1 回答
4344 浏览

c# - 继承表单上的控件被锁定,可以撤消吗?

设置:

我创建了一个Form我希望用作继承其他形式的基础。这种基本形式充当某种“模板”,但它也提供了大量与结构相关的功能,以及所提供的所有控件的相互关系。

以下图像的入门... 顶部信息彩色条是一个自定义控件,继承自ToolStrip. 底部条带是另一个习惯,同样继承自ToolStrip. 左边的白色块是 a TreeView,右边的块是 a TabControl(已经删除了所有TabPages...我打算将这些添加到继承的形式中)。

设计器中的基本形式的图像:

在此处输入图像描述

设计器中继承形式的图像:

在此处输入图像描述

显然,唯一的区别是,当我打开继承的表单时,我会在每个控件上叠加一个小框图标,当我单击它们时,我会看到挂锁告诉我无法编辑。

问题:

继承窗体上的所有控件都被锁定。我已经研究了视觉继承的问题,据我所知,我没有使用任何明确不支持它的控件,正如这个链接所暗示的那样。在这个 Q&A中,Hans 建议更改这些控件上的修饰符,我已经这样做了。事实上,我都尝试了PublicProtected,都没有好的结果。

我难住了。