在mvvm-light中,它附带了两个属性创建片段: mvvminpc用于创建“正常”属性;mvvmpropa用于创建附加属性(也称为依赖属性)。我只想知道在选择使用哪一个时,有什么需要考虑的指导吗?
发布于 2013-05-16 09:19:24
关于MVVM light的这些属性主题,我也搜索了一段时间。下面是我对MVVM light中提供的属性片段的理解。实际上没有任何情况下你会使用一个而不是另一个,因为它们用于不同的目的。
可绑定属性-在ViewModels中创建可绑定属性,以公开视图将显示的数据。
示例包括:显示员工集合或选定的员工信息。
依赖属性-当涉及到代码片段时,查看特定的代码片段。这些属性可以设置为常量值,也可以根据视图模型数据使用数据绑定进行更改。
示例包括: textblock控件的"Text“属性是一个依赖属性。"Height“和"Width”属性也是依赖属性。
Attach属性-也专门用于用户控件。此属性将添加到父控件中。子控件使用这些属性在父控件中以某种方式进行操作。
示例包括: Dockpanel有一个"Dock“(附加的属性名),它不被Dockpanel本身使用。它由包含在其中的子元素使用,子元素现在可以设置属性: DockPanel.Dock="Top“。
<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代码,只有子代包含。
发布于 2012-06-06 16:10:45
当您创建UI组件(控件等)时,建议使用依赖属性:它们在绑定时具有更好的时间性能。
如果您有业务对象或没有/创建UI控件,则使用普通属性。
https://stackoverflow.com/questions/10497367
复制相似问题