首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mvvm-light:正常属性或DependencyProperty

mvvm-light:正常属性或DependencyProperty
EN

Stack Overflow用户
提问于 2012-05-08 19:03:50
回答 2查看 1.2K关注 0票数 0

在mvvm-light中,它附带了两个属性创建片段: mvvminpc用于创建“正常”属性;mvvmpropa用于创建附加属性(也称为依赖属性)。我只想知道在选择使用哪一个时,有什么需要考虑的指导吗?

EN

回答 2

Stack Overflow用户

发布于 2013-05-16 09:19:24

关于MVVM light的这些属性主题,我也搜索了一段时间。下面是我对MVVM light中提供的属性片段的理解。实际上没有任何情况下你会使用一个而不是另一个,因为它们用于不同的目的。

可绑定属性-在ViewModels中创建可绑定属性,以公开视图将显示的数据。

示例包括:显示员工集合或选定的员工信息。

依赖属性-当涉及到代码片段时,查看特定的代码片段。这些属性可以设置为常量值,也可以根据视图模型数据使用数据绑定进行更改。

示例包括: textblock控件的"Text“属性是一个依赖属性。"Height“和"Width”属性也是依赖属性。

Attach属性-也专门用于用户控件。此属性将添加到父控件中。子控件使用这些属性在父控件中以某种方式进行操作。

示例包括: Dockpanel有一个"Dock“(附加的属性名),它不被Dockpanel本身使用。它由包含在其中的子元素使用,子元素现在可以设置属性: DockPanel.Dock="Top“。

代码语言:javascript
复制
    <DockPanel>
        <TextBlock Text="{Binding EmployeeName}" DockPanel.Dock="Top" />
        <Button Content="Click Here" DockPanel.Dock="Bottom" />
    </DockPanel>

在上面的示例代码中:

可绑定属性是EmployeeName,它将是视图模型代码中的公共属性。

依赖属性是textblock的Text="“属性和按钮的Content="”属性。

Attach属性是在Textblock和按钮中使用的DockPanel.Dock属性,但实际上是由Dockpanel本身公开的。请注意,Dockpanel不包含任何.Dock代码,只有子代包含。

票数 3
EN

Stack Overflow用户

发布于 2012-06-06 16:10:45

当您创建UI组件(控件等)时,建议使用依赖属性:它们在绑定时具有更好的时间性能。

如果您有业务对象或没有/创建UI控件,则使用普通属性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10497367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档