社区
.NET技术前瞻
帖子详情
wpf中MVVM模式中如何在ViewModel层里面获取前台控件的一些属性
EAison
2015-10-09 11:10:28
比如说我在前台有一个按钮Name=“Btn1” 现在它的单击事件我是我在Viewmodel绑定一个方法,现在只是要在这个方法里面显示这个按钮的name,这该怎么实现??
...全文
4663
3
打赏
收藏
wpf中MVVM模式中如何在ViewModel层里面获取前台控件的一些属性
比如说我在前台有一个按钮Name=“Btn1” 现在它的单击事件我是我在Viewmodel绑定一个方法,现在只是要在这个方法里面显示这个按钮的name,这该怎么实现??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ouylvr
2017-07-04
打赏
举报
回复
2
引用 2 楼 VouyV 的回复:
Binding ElementName=控件名
<Button x:Name="btnSendButInfo" Width="100" Command="{Binding BtnClickCommand}" CommandParameter="{Binding ElementName=btnSendButInfo}" /> ViewModel: private DelegateCommand<Button> BtnClickCommand; //申明委托 BtnClickCommand = new DelegateCommand<Button>(BtnClick); //实例化 private void BtnClick(Button btn) { string strBtnName = btn.Name;//使用 }
ouylvr
2017-06-08
打赏
举报
回复
Binding ElementName=控件名
EAison
2015-10-13
打赏
举报
回复
没人回复吗 求救啊
MVVM
模式
模型-视图-视图模型(Model-View-
ViewModel
)
组成部分Model、View、
ViewModel
,程序=数据结构+算法。Model就是数据结构,
ViewModel
实现算法数据处理,View实现数据展现。 View:UI界面
ViewModel
:它是View的抽象,负责View与Model之间信息转换,将View的Command传送到Model; Model:数据
层
View与ViewModule连接可以通过下面的方式 Binding Data:实现数据的传递 Command:实现操作的调用 AttachBehavior:实现
控件
加载过程
中
的操作 View没有大量代码逻辑。结合
WPF
、Silverlight绑定机制,MVP演变出了
MVVM
,充分利用了
WPF
、Silverlight的优势,将大量代码逻辑、状态转到
ViewModel
, 可以说
MVVM
是专门为
WPF
、Silverlight打造的。 View绑定到
ViewModel
,然后执行一些命令在向它请求一个动作。而反过来,
ViewModel
跟Model通讯,告诉它更新来响应UI。 这样便使得为应用构建UI非常的容易。往一个应用程序上贴一个界面越容易,外观设计师就越容易使用Blend来创建一个漂亮的界面。 同时,当UI和功能越来越松耦合的时候,功能的可测试性就越来越强。
WPF
经典编程
模式
-
MVVM
示例
没分了,还请不要介意哈,最简单的版本,非常适合入门. 我们使用
模式
,一般是想达到高内聚低耦合。在
WPF
开发
中
,经典的编程
模式
是
MVVM
,是为
WPF
量身定做的
模式
,该
模式
充分利用了
WPF
的数据绑定机制,最大限度地降低了Xmal文件和CS文件的耦合度,也就是UI显示和逻辑代码的耦合度,如需要更换界面时,逻辑代码修改很少,甚至不用修改。与WinForm开发相比,我们一般在后置代码
中
会使用
控件
的名字来操作
控件
的
属性
来更新UI,而在
WPF
中
通常是通过数据绑定来更新UI;在响应用户操作上,WinForm是通过
控件
的事件来处理,而
WPF
可以使用命令绑定的方式来处理,耦合度将降低。 写这个简单的例子,就是为了直观地了解
MVVM
的编程
模式
。在实际开发
中
,不管程序有多复杂,也就是增加Model, View,
ViewModel
,和其他的一些辅助类(Helpers or Services)了,
模式
不会改变。
在
MVVM
架构下实现
模式
窗口
要在
MVVM
架构下实现
模式
窗口(Modal Dialogs),首先,我们需要实现怎么显示
模式
窗口。幸运的是,不管是SilverLight3还是SilverLight4都提供了ChildWindow。当然,我们也可以使用第三方
控件
来实现。但是最重要的问题是怎么在
MVVM
架构
中
去实现
模式
窗口,即怎么在ViewMode
中
实现,同时要实现View
层
和
ViewModel
的松耦性,另外依照
MVVM
架构思想,
ViewModel
层
不必知道View的样式,所以我们必须需要一个接口...
Wpf
mvvm
的Stylet框架特殊用法示例
Wpf
mvvm
的Stylet框架特殊用法示例,事件绑定、控制按钮是否启用、跨
ViewModel
进行绑定事件方法
wpf
-command-demo
本例演示了
wpf
前端如何利用command,将前端的
控件
或者鼠标信息传至
viewmodel
层
。 也有网友认为,将前端
控件
传至
viewmodel
层
,违反了
mvvm
的精神, 让
viewmodel
依赖了view的对象,因此这种做法大家知道一下就行了,和界面有关的逻辑最好还是写到view
中
,
viewmodel
至保留数据相关的逻辑。
.NET技术前瞻
13,347
社区成员
5,388
社区内容
发帖
与我相关
我的任务
.NET技术前瞻
.NET技术 .NET技术前瞻
复制链接
扫一扫
分享
社区描述
.NET技术 .NET技术前瞻
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章