我一直在查看viewmodel问题中典型提升对话框的视图示例,注意到3个主要解决方案:
使用附加行为
使用中介模式
使用服务
但我有点陷入困境,很难找到一个适合我的问题空间的解决方案,这是一个非常简单的文件复制问题:
我的viewmodel正在处理复制文件列表的循环
当目标位置已经存在文件时,我需要启动一个模式对话框,以获得替换确认
vm需要等待并接收确认后才能继续
模态对话框实际上不是一个新窗口,而是我的主窗口中的一个隐藏覆盖,正如感谢Ronald!
我大部分时间都在那里,但最大的困难是:
-
添加GalaSoft.MvvmLightRuntime v2.0.50727版本0.0.0.0和GalaSoft.MvvmLight.ExtrasRuntime v2.0.50727版本0.0.0 DLL后,我无法在设计时查看设计器。我在设计时遇到了这个异常
无法创建System.IO.FileLoadException
加载文件或程序集
'GalaSoft.MvvmLight,版本=0.0.0.0,
区域性=中性,PublicKeyToken=空'
或者它的一个依赖项。活动
不支持。例外
HR
我正在努力找到一种方法将ListView中的SelectedItems属性绑定到视图模型
以前我使用过这个:它在RTM版本中不再工作
非常感谢您的帮助
提前感谢:)您可以查看on CodePlex上的ListViewExtensions.BindableSelection。发现绑定到附加属性失败,因为附加属性的类型被视为
从Visual Studio中的输出窗口:
类型('null')
经过进一步的研究,很明显,任何泛型类都无法与这个确切的错误绑定。作为快速修复,我只是将类型更改为“object
情况:
剑道数据源
var ordersDataSource = new kendo.data.DataSource({
type: "odata",
transport: {
read: {
url: "http://localhost/odata.svc/Orders?$expand=OrderDetails"
}
},
schema: {
type: "json",
d
嗨,我已经开始使用Knockout了,因为它比jQuery更简单。我以前使用过jQuery,但这使我的代码几乎无法阅读
我有一个javascript视图模型
function ovm() {
this.delStreet = ko.observable("");
this.deliveryNotSameAsInvoice = ko.observable(false);
this.invStreet = ko.observable("");
}
ko.applyBindin
我看到MVVM Light工具箱中有一个导航服务。当您只是导航到一个视图并且不传递任何数据时,这是非常简单的
_navigationService.Navigate(typeof(DetailView));
Navigate方法上有一个重载,它接受一个对象参数,即
_navigationService.Navigate(typeof(DetailView), this.SelectedItem.Id);
问题是,接下来如何在我的目标视图模型中检索参数?我最后得出以下结论
public int
我正在为数据库使用普通模型(实体),并将它们绑定到视图。这对我来说很好,但现在我有一个“特殊”的要求,我认为ViewModel是正确的方式
目前,我有一个包含许多项(1:n)的组模型。所有组都从数据库加载到ObservableCollection中,以在LongListSelector中显示它们。要求在LongListSelector中添加第二行,其中包含组中的当前项数。这不是很难,但我认为它是ViewModel的合适位置
我必须从组模型对象构建ViewModel,但正确的位置在哪里。我是否应该
我有一个html节元素,它有一个Knockout-foreach绑定到viewmodel上的一个项目集合。这可以很好地将集合中的每个项呈现到垂直向下的div上。现在,我希望项目根据窗口大小按行分组,这样项目在桌面浏览器上显示为4行,但在移动设备上每行仅显示1行
实际上,我是通过在viewmodel中创建组并使用foreach将我的视图元素绑定到此groups属性来实现这一点的。这个方法的问题是,我的View模型现在有了我将要考虑的一组视图逻辑,并直接引用窗口对象。我认为这是不对的
我已经有了一个
是否可以在“单击”绑定中设置可观察
其中,Toolbar BottomTabs\u selectedIndex是一个可观察的索引。尝试以下操作:
<div data-bind="click: toolbarBottomTabs_selectedIndex.bind($data, 0)">
这是可能的,但我认为这不是一个正确的选择:
<div data-bind="click:toolbarBottomTabs_selectedIndex.bind($data, 0)"&g
典型的客户发票场景:
保存行项目的viewmodel中的ObservableCollection。该视图列出行项目,并在每行末尾显示计算的LineTotal。页面底部显示了一个总计
如果用户更改了数量,为了更新页面上的其他项目,我会在绑定到数量的文本框上使用EventToCommand触发器。调用该命令时,我手动重新计算行总计和发票总计以反映更改
是否有更好的方法反映用户对数量框所做的更改?强制“重新绑定”刷新页面的方法?Fody或Catel有没有处理这个问题的方法?明白了!我仍然使用Event
标签: Mvvm
winrt-xamlwindows-8.1winrt-xaml-toolkit
我有一个Windows8.1应用程序
我正在使用WinRT Xaml Toolkit将我的IsSelected属性绑定到我的ViewModel,因为这种绑定是开箱即用的
我包含了以下名称空间
xmlns:Extensions="using:WinRTXamlToolkit.Controls.Extensions"
这是我的XAML的ListBoxItem
<ListBoxItem Extensions:ListBoxItemExtensions.IsSelected="{Binding
标签: Mvvm
reactive-programmingrx-swift
我在RxSwift上注意到,在初始化时,观察值从ViewController传递到ViewModel:
let viewModel = GithubSignupViewModel1(
input: (
username: usernameOutlet.rx_text.asObservable(),
password: passwordOutlet.rx_text.asObservable(),
虽然silverlight demo应用程序/文章在线上有很多MVVM,但它们都非常简单,没有涵盖MVVM的深度和LOB应用程序的扩展。
我正在寻找一本与WCF Ria服务、命令等相关的完整的MVVM书籍/演示。看看Josh Smith写的。高级MVVM是一本关于基本MVVM概念的好书,但它没有解决LOB应用程序的问题。继续看。对于初学者:请看以下关于
我有我的MVVM,这个模型由许多相关的类组成,但是为了这个问题,我们将只关注四个
祖父母模型、父母模型、子女模型和联系人
这些都是从ModelBase继承的,ModelBase上有一个INotifyPropertyChanged的实现
因此,这三个模型中的每一个都具有接触特性。若孩子并没有财产,那个么它应该向父母求助,若父母为空,那个么它将向祖父母求助。如果祖父母级别的联系人发生变化,我希望任何受抚养人(即任何子父母及其子女)也为他们的联系人举办一次财产变更活动
我想我要做的一切都会得到Depe
我对这个片段有一个看法:
<DataGrid AlternatingRowBackground="#FFF2F5F1"
AutoGenerateColumns="False"
Grid.Row="0"
GridLinesVisibility="None"
IsReadOnly="False"
IsSynchronizedWithCurrentItem="True"
Ite
标签: Mvvm
ioc-containerautofacdb4o
我可以看到如何使用autofac实例化类的对象,然后将这些对象传递给db4o进行存储。当我需要从db4o检索对象实例时,如何向autofac注册对象
我最初计划使用db4o的MSBuild工具来实现透明激活/持久化,但看起来我可能必须为所有模型对象手动实现IActivatable接口,以便我可以在IActivatable::Bind()中插入额外的代码,以便在激活指针时注册此指针
最糟糕的是,我预计,IActivatable::Bind()的实现必须访问当前Autofac生存期范围的一个单例来进
我还是MVVM的新手,正在努力理解这些概念
我有一个由Linq到Sql为表生成的类
我希望这个类看起来不同,所以我创建了一个新类,其中包含生成类的一些属性和一些新属性,这些属性只依赖于生成的类
这是a类模型、视图模型还是其他模型?可以是视图模型,但不一定是。这些额外属性用于支持视图。如果是,那么您可以认为它是一个视图模型类
视图模型的存在是因为视图的存在。模型的存在是因为您有一个数据域。视图模型在现实(模型)和给定用户对现实(视图)的感知之间起到了滑动作用。可以是视图模型,但不一定。这些额外属性
我最近一直在寻找一种使用MVVM在WinForms中绑定数据的方法。
我最终创建了MVVM模式的自定义实现。
然而,由于缺乏双向绑定,我决定尝试一下WPF
我已经有了这个模型,它封装了非ui功能。例如,模型读取配置文件,具有一些属性,侦听套接字上的传入数据,并在需要时保存传入的数据包。
如果模型的某些属性设置超出范围,则会引发异常。即在模型中进行验证
验证通常是如何在WPF中完成的?我读过很多文章,在ViewModel中进行验证似乎有一些一致性。事实上,大多数文章只使用ViewModel和Vie
我尝试使用fire,但面临以下问题:
MyView.axml包含:
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:layout_width="wrap_content"
android:la
我正在尝试将UI元素绑定到不同的模型属性a、B和AB。前两个属性A和B由两个滑块控制。第三个属性AB是A和B的总和。对于这三个特性中的每一个,都有一个显示其值的标签
现在,如果我移动其中一个滑块,相应的标签将更新其文本。但是组合属性AB的标签不会更新。可能不会触发“属性更改”事件,因为没有AB的setter
是否有可能绑定到此类“聚合”属性?
下面是包含属性A、B和AB的可绑定对象:
公共类设置:BindableObject
{
公共静态只读BindableProperty AProperty=
我们正在使用Template10开发UWP应用程序。该应用程序正确显示成本、净额、税金和总额。Tax和Total是ViewModel中的计算属性。但是,当在ViewModel中更新净值时,税收和总额在ViewModel中更新,但在视图中不更新。Xaml:
<TextBlock
Text="{x:Bind ViewModel.Net,Mode=OneWay}"
/>
<TextBlock
Text="{x:Bind ViewModel.Tax,Mode=One
我正试图在我的Xamarin.Forms项目中实现MVVM
这是我的带有x:Name的StackLayout
<StackLayout x:Name="approvalsStack"></StackLayout>
现在我陷入了困境,如何使用ViewModel/Binding填充子对象。您不能这样做,正如您所看到的,StackLayout中的属性子对象不是一个问题
但是,您可以通过使用bindable属性实现定制一个来解决这个问题,该属性将有一些ItemSource用于动
我正在开发一个使用Prism 7的Xamarin.Forms应用程序。我在DI容器中将依赖项注册为临时依赖项,但是有没有办法将它们的作用域设置为ViewModel,就像它们的作用域设置为当前web请求一样?用例是什么?如果您临时注册它们并将它们注入视图模型,那么它们的作用域就是视图模型,不是吗?容器不会(不应该)为您处理内容,无论如何,这是在导航离开时由视图模型完成的。@Haukinger如果我有两个依赖于另一个的依赖项,并且具有相同类型的依赖项,则该类型将创建两次。
标签: Mvvm
entity-framework-4.1repository
我正在结合MVVM学习EF4.1,在其中一个教程中,他们创建了一个带有存储库对象的MainWindowViewModel,用于调用另一个视图模型EmployeeListViewModel。代码如下:
public MainWindowViewModel()
{
IObjectContextAdapter adapter = ((IObjectContextAdapter)new SidekickEntities());
_vmRepository = new GenericRep
所以现在我有一个表显示一些值,还有一个冲突指示器。当用户单击该指示器时,将显示一个新的div,其中包含一些动画,以列出所有冲突
这是我的HTML:
<span data-bind="if: hasConflict, click: $parent.selectProperty" class="conflictWarn"><i style="color: darkorange; cursor:pointer;" class="icon-warning-sign"></i
ColumnShowed是在列菜单中显示列时触发的事件(参见kendoui文档中的事件)
我的问题是如何使用声明性方法以MVVM的方式设置事件列表器
到目前为止,我尝试了这两种方法(没有任何运气):
data-bind='source: dataSource, events:{ columnShow: onColumnShow}'>
这个呢
data-column-show = function(e) { console.log(e.column.field); }
在这两种情况下,
我正在比较MvvmCross和ReactiveUI,这是一个关于Win Store、WP8、iOS和Droid的大型制药项目。我们已经选择了Xamarin
我对ReactiveUI完全不熟悉。原则上我很喜欢我所看到的,我认为保罗是个天才。然而,细节正在成为一个真正的负担。我花了几天的时间追踪文档(手册是2011年的,看起来几乎完全过时了——它甚至没有包含“路由器”一词)和示例代码
我在看来自ReactiveUI的样本
此外,项目还从ReactiveUI解决方案中移动示例RT
我的hello小世界
标签: Mvvm
mefioc-containercaliburn.micro
我在Spring.net中使用Caliburn.Micro,而不是默认的简单IoC。我的自定义引导程序(由Caliburn的引导程序数据库驱动)正在工作,我可以在Spring.net中定义ViewModels。但是视图仍然通过执行程序集的反射(名称约定)来解析。我使用引导程序的以下方法添加用于解析ViewModels视图的程序集
protected override IEnumerable<Assembly> SelectAssemblies()
{
我有一个视图,我已经将这个视图绑定到一个具有列表项的视图模型
当我对视图模型进行任何更改时,我可以在视图中看到相应的更改
但当我从视图中删除一个项目时,它不会在viewModel中得到更新
我正在使用KendoUi进行上述操作
任何人都可以告诉我这里的问题是什么吗我假设ViewModel集合属于ObservableCollection类型。使用双向绑定来完成您需要的内容
ItemsSource = {Binding Path=MyCollection, Mode=TwoWay}
谁知道呢,考虑
我有一个目标是.NET4.5.1的项目。我安装了MVVM Light nuget,管理器安装了MVVM Light的版本5
在这个版本中,我不能使用EventToCommand,我必须使用IncovationCommand,因此我需要将我的axml代码添加到标题中:
xmlns:interactivity="using:Microsoft.Xaml.Interactivity"
xmlns:core="using:Microsoft.Xaml.Interactions.Core"
以下代码用于
我想使用敲除“事件”绑定将一些事件绑定到元素
但我希望列出的所有事件都只与一个特定案例相关联
viewmodel:
function vm(){
var self = this;
self.isEditMode = ko.observable(false);//can be changed to true
self.events = ko.observable({
down: function () {
console.log("down")
},
up:
我有一个处理Plugin.Media的视图模型,可以从手机上拍照。除非我将下面的代码(视图模型)放在后面的代码中,否则图像不会显示,然后它就可以正常工作了,这与我学习MVVM的目标背道而驰。我还尝试了“FileImageSource”并以各种方式使用了“Source””
谁能解释我做错了什么
查看模型:
public string FilePath { get => _filepath; set { _filepath = value; OnPropertyChanged(); } }
p
标签: Mvvm
swiperefreshlayout
我正在使用SwipeRefreshLayout获取数据。
问题是在我添加/删除API端的项目后,数据没有更新
从存储库、视图模型和视图。
我的期望是:在我更改API端的某些内容后,我按住并滚动列表,应用端=>列表将被更新。
非常感谢
存储库
class MoviesRepository(
private val api: MoviesApi,
private val db: AppDatabase,
private val prefs: PreferenceProvider,
private v
标签: Mvvm
wrapperinfinite-loopstack-overflow
感觉一定有一些半简单的解决办法,但我就是想不出来
编辑:前面的示例更清楚地显示了无限循环,但这提供了更多的上下文。查看预编辑以快速了解问题
以下两个类表示Model()模式的视图模型
//
///配方的用户界面友好包装器
///
公共类RecipeViewModel:ViewModelBase
{
///
///获取包装好的配方
///
公共配方RecipeModel{get;private set;}
私有ObservableCollection类别=新ObservableCollect
我是mvvm的新手,我有几个问题:
模型=业务层吗
如果我有一个包含订单列表的客户模型,并且每个订单都包含项目列表,那么您将如何在视图中对此进行分隔?目前,我的CustomerModel有一个CustomerServiceWModel。CustomerViewModel包含OrderViewModel的列表。OrderViewModel包含ItemsViewModel的列表。因此,如果我从数据层检索现有客户,那么我将基于现有列表创建相应的OrderViewModel和ItemViewModel。
我所说的“屏幕激活”是指,当你想在没有被占用的区域显示一些东西,或者切换一个视图与另一个视图时。在Caliburn Micro中,所有这些都是通过实例化和激活另一个ViewModel从ViewModel的方法完成的。在我看来,从MVVM的角度来看,考虑到它的“视图优先”方法,要实现同样的效果,您需要使用一个代码,只需将视图主机的内容切换到其他视图即可
我想知道这是否可以在没有代码隐藏的情况下完成,这项任务是否有一种主导模式。在本文中,我概述了从MVVM灯光视图模型显示对话框通常采用的方法
MVV
嗨,我知道valueUpdate:afterkeydown将在用户输入后进行模型更新,但我想知道如何在其他javascript代码更改值后自动进行valueUpdate
我有一个js代码,用于document.getElementById(“输入”).value=“new value”
我是否必须手动更新模型,或者我应该使用什么值更新 在更新输入值的行之后,调用observable.valueHasMutated(),对与您正在更改的输入相对应的任何可观察对象调用。如果您触发元素的更改事件,则
我有一个xamgrid,当用户>双击xamgrid单元格(事件:celldoubleclicked)时,我需要调用我的viewmodel命令来执行一些操作。如何使用>MVVM处理此场景
您可以从中使用EventToCommand触发器
感谢Alyce的回复,但我们不能避开第三方吗?因为我是mvvm的新手,你可以,但你必须重写一个非常健壮、可靠且易于使用的框架。我想你会发现这并不是一个学习曲线,而且有大量的在线帮助(事实上,大多数MVVM演练都包括MvvmLight)。只记得InvokeComm
我有剑道网格和列大小调整选项。当我双击列标题时,该列应该重新调整为自动宽度(参考:“jsfiddle.net/YF7ny/”)
我需要通过MVVM(Model-View-Model)提供这些选项。我不熟悉剑道和mvvm概念,请帮助我。要添加双击处理程序,您需要制作一个自定义mvvm活页夹。
这里有一些关于制作自定义活页夹的文档:
然后你的网格元素可以有
data-bind="gridColumnResize: x"
另一种选择是扩展默认的网格小部件并创建自己的网格小部件,在init中可以添加
请参考下面的代码。按delete按钮时,我想删除包含delete按钮的列表项。
问题是项目未被删除
谢谢你的时间和帮助
<div id="example">
<div id="invitationsDiv">
<ul id="invitationsPanelBar" data-template="template" data-bind="source: invitations">
我有一个KendoUIMVVM下拉列表,我希望列表的宽度比控件本身更宽
<input class="dropDowns" data-role="dropdownlist" style="width: auto;" />
我找到了一个解决方案:
但是我不能将此应用于我的MVVM示例。显然,您不能基于类设置列表宽度,您必须给它一个id
<input id="dropDowns" data-role="dropdownlist" style="width: auto;" />
我知道,当我在raddocking的选项卡中有一个视图时,每次激活该视图时都会触发加载的事件。在我的旧代码中,我设置了IsFirstLoad布尔属性来避免这种行为。在Catel中,我看到当ViewModel/视图失去焦点时,ViewModel本身关闭时会发生什么。。。那不好!有什么办法可以避免这种情况吗
谢谢
04:04:18:328 => [DEBUG] [Catel.MVVM.ViewModelManager] [1] Unregistering all models of vi
是否可以绑定到Xamarin表单中的方法而不是属性,类似于{Binding GetImage()},我必须从web服务器下载加密字符串格式的加密图像,并在listview上显示这些图像,为此我必须使用async和Wait运算符,但使用属性,我无法使用这些运算符。您始终可以同步调用异步方法,因此使用属性从来都不是问题。如果您的上下文实现INotifyPropertyChanged,您应该能够在图像下载完成后引发PropertyChanged事件。感谢Lex Li提供的信息,我能够在getter中调
标签: Mvvm
retrofitretrofit2rx-android
我有一个移动应用程序,可以从多个网络通话中获取数据。所有这些网络调用都有一个公共查询参数,比如portalId,我将从另一个网络调用中获取该portalId
由于我使所有网络调用并行,因此可能会出现一种情况,即其中一个请求调用可能在没有portalId的情况下命中网络。因此,在提取portalId之前,我需要阻止所有网络调用
如何使用RxAndroid实现这一点?有多种方法。。。没有任何代码是很难理解的,但是一个解决方案可以是flatMap。您可以将给您的portalId呼叫的应答平面映射到其他
我知道如何将参数从url传递到blazor页面,如下所示:
@page "/myPage/{myParameter}"
@if(myParameter != null && myParameter != "")
{
<p>@myParameter</p>
}
@code{
[Parameter]
public string myParameter {get; set;};
}
有没有合适的方法?Th
在StockTraderRI示例代码中,MEF使用以下属性注入ViewModel:
[Export(typeof(IOrdersView))]
[PartCreationPolicy(CreationPolicy.NonShared)]
public partial class OrdersView : UserControl, IOrdersView
{
public OrdersView()
{
InitializeComponent();
}
[Import]
是否有可能在Mono/Monodroid上运行Galasoft MVVM Light Toolkit?MVVM Light Toolkit在.Net的WindowsBase.dll中使用了许多Mono可能无法实现的接口。结果表明,它不能被使用,特别是因为RelayCommand依赖于WPF的类型
您可以运行以确定潜在的问题
下面是另一个答案,似乎是(但不是MVVM)。只是更新一下-vs2012中最新的可移植类库使共享MVVM代码变得更可能-此外,monotouch/monodroid至少还有几
如果用户单击按钮导航时视图中的某些字段为空,我需要向用户显示MessageDialog。我可以很好地处理视图模型中的输入字段验证,只是不确定如何从视图模型中调用messagedialgo.showasync方法并将其显示在视图中。有什么建议吗?我看到了Caliburn.Micro的示例和库源iWindows管理器界面仅适用于WPF和Silverlight。对于WinRT,示例包含此帮助器类
using System;
using Windows.UI.Popups;
namespace Cal
大多数MVVM和数据访问层文章都解释了WCF和DTO的内容,但我的项目从来没有使用它们,而是使用与服务器的简单TCP/IP通信
我有一些型号直接使用Tcp/ip套接字。然而,我一直觉得tcp/ip套接字逻辑应该与模型解耦
如果是这样的话,我想知道如何解耦和实现它们。 < P>我总是认为模型是从数据库、服务、文件……向我传递的“事物”。任何存储库,包括套接字
我会将套接字封装在某种类型的存储库中,以获得可以转换为ViewModel的良好格式的数据
也就是说,如果使用套接字的原因是速度,那么整个存储
我的应用程序必须支持不同的UI(Win表单和WPF)。这意味着我必须封装业务逻辑。
你会怎么做
例如,带有MVVM的WPF:
1) 我是否应该在模型类(如汽车、门等)和viewmodels之间引入一个层?例如,控制类、管理类或服务类
2) 或者模型类(如汽车、车门等)本身是否应该包含逻辑?模型类通常用于在用户界面层和业务逻辑之间传输数据。所以它们一般不应该包含任何逻辑
我还没有尝试过同时支持WPF和winforms(并且不能诚实地提出一个理由来说明为什么这是必要的),但是AFAICT winfo
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 32 页