对象更新后通知PropertyChanged
我想以一种优雅的方式更新我的listView. 这是我的代码: ObservableCollection tracks = new ObservableCollection(); Track track = new Track(); Tracks.AddRange(track); // collection add a track, and list view updates too Task.Factory.StartNew(() => track.GetInfo(); // this operation might require some times to update // here I need to notify that my object is updated ); 我如何强制更新我的观测值内部对象的绑定? 这是我的usercontrol.xaml
4 2023-05-07
编程技术问答社区
KnockoutJS和PubSub在视图之间更新可观察数组
我有两个modalviews - MyModalViewA(父)和MyModalViewB(child). MyModalViewA spawns MyModalViewB作为自定义绑定,还有可观察的数组,我需要更新.看起来像: (function () { 'use strict'; var window = __webpack_require__(/*! window */ 10), _ = __webpack_require__(/*! _ */ 2), $ = __webpack_require__(/*! $ */ 12), ko = __webpack_require__(/*! ko */ 3), key = __webpack_require__(/*
0 2023-05-07
编程技术问答社区
KnockoutJS更新可从另一个modelview中观察到
我有一个现有的ComposePopupView()模型视图,其中包含可观察的 this.attachments = ko.observableArray([]); 和下面的方法 ComposePopupView.prototype.addDropboxAttachment = function (oDropboxFile) { var oAttachment = null, iAttachmentSizeLimit = Utils.pInt(Settings.settingsGet('AttachmentLimit')), mSize = oDropboxFile['bytes'] ; oAttachment = new ComposeAttachmentModel( oDropboxFile['link'], oDropboxFile['name'], mSize );
0 2023-05-07
编程技术问答社区
ModelView到ModelView的通信
请,您建议的是以下方案最好的(就建筑质量而言)的方法: modelViewa(parent) - 需要从ModelViewB收集来显示数据 - 即使集合保持不变 modelViewB(儿童) - 持有项目的收集.该集合在概念上属于ModelViewB,主要在此(模型)视图中修改.但是,ModelViewa还可以修改集合 我采用的当前方法是在ModelViewB中收集,并在ModelViewa中进行副本.使用消息总线(MMVM Light Toolkit),我的ModelViews相互通知彼此.但是,这让我感到尴尬,因为我保留了重复的收集并同步它.我宁愿只在一个地方将其从ModelViewa和B中访问. 我当时认为也许将一个模型视图注入另一个模型,但这会增加耦合,并且通常对MVVM模式感到错误.我也可以仅使用对两个模型视图的静态引用,因为我拥有持有参考文献的静态定位器(也来自MVVM Light Toolkit). 也许有更好的解决方案? 谢谢, o 解
0 2023-04-07
编程技术问答社区
asp.net core mvc中的Model和ViewModel有什么区别?
我有帐户模型的帐户类. public class Account { [Key] public Int64 UID { get; set; } [Required] public string ID { get; set; } [Required] public string PassWord { get; set; } [Required] public string UserName { get; set; } } 我的项目不是一个代码第一个项目,这是数据库"帐户"的模型类. ,但我在登录视图,字符串ID和字符串密码中仅使用两个属性. 因此,当我检查模型验证时,我无法在登录控制器中使用modelState.isvalid(),因为我使用 只有两个属性... 所以我对此进行了搜索,现在我发现了" ViewModel",这是查看的模型类. 然后我创建了一个新的类'accountViewMod
2 2023-03-29
编程技术问答社区
包含多个对象的ViewModel的模型绑定
我有一个类型的productListingViewModel的强烈键入视图,进而包含productViewModel. (两个自定义视图型号). 我的页面上有一些形式元素,这些元素像这样创建: m.ProductViewModel.CategoryId, Model.Categories)%> 生成HTML: 使用默认模型绑定,我期望我将接受类型productListingViewModel的参数发布到控制器操作时,它知道将填充productviewModel.CategoryId使用相关数据. 选择列表的名称似乎表明它知道有一个带有类别属性的productViewModel,但是当我发布到控制器方法时,productViewModel是null.如果我在构建ProductLis
2 2023-03-29
编程技术问答社区
在QTableView中只有一个复选框列
我在SQLITE数据库中有一个表,我使用QTableView和QSQLQUERYMODEL显示该表.第一列需要具有一个复选框标题,并且列中的所有项目也需要为复选框.我已将第一列标题作为复选框实现,并且可以很好地工作. 由于需要将列中的复选框居中,因此我使用代表将其绘画.我已经使用以下代码绘制了复选框,但是无法检查或未选中它们.我不知道该如何实施. static QRect CheckBoxRect(const QStyleOptionViewItem &view_item_style_options) { QStyleOptionButton check_box_style_option; QRect check_box_rect = QApplication::style()->subElementRect( QStyle::SE_CheckBoxIndicator, &check_box_style_option); QPoint check
52 2023-03-10
编程技术问答社区
排序QtTableModel-QTableView不会被更新
我实现了一个自定义QAbstractTableModel,我正在为我的数据对象使用std::vector. 现在,我想实现sort()方法,以通过列对我的表排序. 这基本上就是我要做的: void SBStateTableModel::sort (int column, Qt::SortOrder order) { emit layoutAboutToBeChanged(); switch (column) { case Address: if (order == Qt::DescendingOrder) std::sort(states.begin(), states.end(), addr_comp_desc); else std::sort(states.begin(), states.end(), addr_comp_asc); default: return; } emit layoutChanged()
10 2023-03-01
编程技术问答社区
如何在QTableView中显示QAbstractItemModel的子行?
我有自己的类,它从具有树结构的qabstractitemmmmmodel继承. 我使用几个视图,这些视图显示了该模型的过滤数据,使用从QSortFilterProxymodel得出的类. 我的模型结构看起来像这样: root | -- A | |-A1 | |-A2 | |-A3 | -- B | |-B1 | |-B2 | ... and so on... 其中a,b ....是"主要行"(根的孩子),而a1,a2,... b1,b2 ...是" childror lows' - 节点行相连" ". 现在,我需要做的是一个仅显示"儿童行"的QTableView: A1 A2 A3 B1 B2 但是我在qsortfilterproxymodel(FilterAcceptsrow,FilterAcceptscolumn)中发现的过滤方法仅在主行上运行... 我该怎么做? (我发现非常相似的问题,但仍未得到答复: qtableVie
12 2023-02-28
编程技术问答社区
在模型中使用QTableView
我有QVECTOR cars我想在汽车的注册号上过滤基础.我想创建一个新的过滤向量.我不认为这没关系,因为我迭代了2个向量,从第一个矢量复制到第二个矢量.我在做这件事吗? void MainWindow::on_actionBy_registration_number_triggered() { myDialog = new MyDialog(this); myDialog->exec(); QString toSearchString = myDialog->getRegistrationNumber(); QVector founded; QVectorIterator iterator(cars); while(iterator.hasNext()){ Vehicle car = iterator.next(); QString num = car.getRe
4 2023-02-27
编程技术问答社区
没有为Class<>绑定注射器工厂
我在堆栈中看到了同样的问题,但他们试图用@ContributesAndroidInjector修复错误,但是在Dagger文档中说使用@ContributesAndroidInjector只是可选的,所以这是我的类: 我的MainActivityComponent: @Subcomponent(modules = [ MainBuilder::class ]) @ActivityScope interface MainComponent: AndroidInjector{ @Subcomponent.Factory interface Factory: AndroidInjector.Factory } 我的AplicationBinder: @Module(subcomponents = [ MainComponent::class ]) abstract class App
6 2023-02-25
编程技术问答社区
如何刷新一个QSqlTableModel,同时保留选择?
我正在使用QSqlTableModel和QTableView查看SQLITE数据库表. 我想每秒左右都有桌子自动刷新(这不会是一个很大的桌子 - 几百行).我可以做到这一点 - 喜欢: QTimer *updateInterval = new QTimer(this); updateInterval->setInterval(1000); updateInterval->start(); connect(updateInterval, SIGNAL(timeout()),this, SLOT(update_table())); ... void MainWindow::update_table() { model->select(); //QSqlTableModel* sqlTable->reset(); //QTableView* } 但这可以删除我的任何选择,因此选择仅持续一秒钟.这很烦人,因为GUI中的另一个窗格取决于选择的内容.如果未选择任何
18 2023-02-24
编程技术问答社区
如何将数据从Razor View Kendo UI DropDownList传递到控制器变量?
vs'12,kendoui,asp.net c#mvc4互联网应用程序EF代码首先 希望看到一个人将如何传递值形成kendoui下拉列表从剃须刀视图 控制器 [HttpPost] //[AcceptVerbs(HttpVerbs.Post)] public ActionResult Index(ViewModelCCTRST model) //, FormCollection values) { if (ModelState.IsValid) { string clt = model.Clients; string cnt = model.Countys; string twn = model.TownShips; ... ... //string xx = val
10 2023-02-22
编程技术问答社区
如何在Java Swing中正确设计一个MV应用程序?
我正在尝试在Java Swing中设计一个MV(模型视频程序)应用程序.我在为每个ViewController分配正确的模型时遇到麻烦. 这是我当前的设计(不是实际名称): 这个想法是我有两种视图:GUI和MIDI设备. 每个视图都有其相应的模型.但是,GUI(Buttonbar)的一部分需要访问MIDI设备型号. 目前,我的解决方案是将Mididevice模型传递到Mainwindow的构造函数,然后让其将其传递给Mypanel构造函数,然后将其传递给纽扣栏...对我来说,这会闻到不良的设计和将来的复杂性. 您建议什么更好的方法? 解决方案 一种方法是让设备视图和/或模型导出 JHotDraw ,引用在这里,如讨论
6 2023-01-02
编程技术问答社区
为什么AngularJS被认为是MV*?
我已经使用了后端(轨道)的MVC,目前在前端(角度)上使用MVC(MV *).我已经看过角度,如MV *模式,但为什么它被认为是完全呢? 使用Angular,我理解关注的分离,具有视图(模板),控制器和使用服务来服务数据.在这种情况下,通过NG模型的模型(数据存储)对前端临时存储来说是有道理的,但实际持久性(当帖子或放置到API时)似乎是通配符.随着数据的持续存在的方式,可以不同地处理(数据库,Firebase等). 在我看来,* VC基于我的理解更适合,因为角度的控制器比模型更好. 必须有一些关于我缺少或混淆的mv *模式的核心,任何澄清都非常阐述. 解决方案 以下是可以在Angular中选择的几种方式: 控制器: ngmodelcontroller $ controller 视图模型: 依赖表达式 指令属性 主持人: webgl指令 呈现 - 抽象 - 控制器 每个iframe 重要的是,UI和模
4 2022-12-30
编程技术问答社区
Android JetPack的共享ViewModel生命周期
文档 https://developer.android.com/topic/libraries/架构/ViewModel#共享介绍如何在不同的片段中共享相同的视图. 我在我的单个活动中有一些复杂的页面应用程序,带有一个容器和标签片段.每个此类页面都有自己的ViewModel,它应该与所有包含的片段共享. 这里的关键技巧是使用活动而不是片段来保存我的视图. 问题是,我的活动可以有多个页面与自己的型号,并一直在浪费设备资源的时间浪费特定页面. 是有没有办法来控制ViewModel的生命周期以在用户离开页面时销毁它? 我想使用容器片段而不是活动: model = ViewModelProviders.of(getPageContainerFragment()).get(SharedViewModel.class); 但发现这个想法并不那么好,因为所有的孩子碎片都应该了解父母,这可能不是那么好. 是否有任何替代方案可以正确解决这种情况? 解决
QTreeView或QTreeWidget
我想在我的程序中实现一棵带有嵌套子级别的树,我正在寻找这两种(视图/小部件)中的哪一种最适合我的目标. 我有一个任务的列表,这些任务要么完成/错过/失败,每个任务都有完成/错过/失败的次数,最后是当天的分数. 我想像这样显示: 我使用qtreewidget在qtcreator中进行了此示例,但是我担心很难修改元素,因为它们存储在其他地方. 我的担心是理性的吗?我应该去模型/视图结构,还是可以轻松地使用Qtreewidget?树将记录任务,因此将不断变化.元素只会添加到其中,而不会删除.而且日子将从最高最高的(第2天都是第一,然后是第1天) 解决方案 如果您的数据存储在数据库模型中,或者您想拥有单个数据模型并以不同的方式显示它,那么您绝对最好使用QTreeView. 但QTreeWidget具有某种方式的内部模型以及在索引中处理模型的方法.通常,如果您只想要易于工作的东西,则可以使用窗口小部件. 但是模型/视图方法更为笼统和灵活.您可以创建自己的模型
26 2022-08-21
编程技术问答社区
Qt:点击一次后开始编辑单元格
默认情况下QTableView中的单元格在双击后开始编辑.如何改变这种行为. 我需要在一键后开始编辑. 我已将组合框委托将其设置为单元格.单击单元格时,仅选择它.双击单元时,QComboBox编辑器将被激活但未扩展.我希望它仅在一键之后就可以扩展,就像我添加了setCellWidget QTableWidget的功能.我需要使用Model-View-Delegate产生相同的效果. 解决方案 单击后编辑 您可以在使用 的情况下重新进化MousePressEvent void YourView::mousePressEvent(QMouseEvent *event) { if (event->button() == Qt::LeftButton) { QModelIndex index = indexAt(event->pos()); if (index.column() == 0) { // column you want to
134 2022-08-19
编程技术问答社区
使用Qt模型/视图框架来通知一个视图中的QGraphicsItem用户在另一个视图中的编辑。
我正在尝试设计一个多视图应用程序以使用 Qt 的模型/视图框架,以便我可以将大量复杂逻辑从我的 QGraphicsItem 类中移出. 如下图所示,应用程序由两个(或多个)视图组成,每个视图在相同的水平位置包含一系列相同的红色垂直引导线 A1 、 B1 、 C1 ...沿着每个视图. 我想确保当用户在一个视图中拖动引导线时,例如从点 A1 到 A_1',如上图所示,其他视图中所有相应的引导线都移动相同距离和方向相同,例如从 A2 到 A2'.此外,不应将一条引导线拖过另一条引导线,即引导线必须保持其相对顺序.这是我想从 GuideLine 类移到模型中的部分逻辑. 我知道拖动引导线会触发 QGraphicsItem::itemChange,如下面的片段所示.我不知道如何最好 将候选值转发给模型进行验证(和存储).我知道视图是接口“通过信号和插槽机制与模型互操作的标准接口".在我看来,最大的问题是 QGraphicsItem::itemChange 必须立即返回验证
180 2022-08-11
编程技术问答社区
等待按钮被按下 JAVA GUI
目前,我正在重新编写一个基于文本的程序以拥有一个 GUI.我遇到的问题之一是我希望程序等到满足某个条件.这个条件可以通过用户点击“Walk"按钮直到 player.walked 属性 = 5 来满足.当使用基于文本的界面时,这很简单,使用 while 循环并在里面有一个输入函数. while (player.getWalked()
92 2022-08-11
编程技术问答社区