![]() |
1
52
有几种方法: 1。依赖属性
当使用依赖属性时,它在具有可视外观的元素类中最有意义。(
赞成的意见:
欺骗:
Sample:
2。system.componentModel.inotifyPropertiesChanged 通常,在创建数据对象时,您将使用此方法。对于类似数据的东西来说,这是一个简单而整洁的解决方案。 优缺点-与1互补。您只需要实现一个事件(propertychanged)。 Sample:
3.属性名 改变 为每个具有指定名称(f.e.名称已更改)的属性引发一个事件。事件必须有这个名称,由您来处理/提升它们。类似于2。 4。得到装订
使用
第一个和第二个最有可能取决于你的目标。 总之,它是可视的vs数据。 |
![]() |
2
14
据我所知,
等。 这些功能在正常属性下不可用。 |
![]() |
3
3
为此,需要MyProperty是Dependency属性 |
![]() |
4
1
我看到的主要问题
|
![]() |
5
1
正如其他答案已经充分说明了何时创建依赖属性。即
关于这一点的另一个观点/问题是“在WPF应用程序中,在控件中创建依赖属性是有意义的,因为它们可能在用户交互期间发生更改,如高度、宽度、文本、内容、背景等。 但是其他类比如行为类(非UI类)呢?这些类中的属性需要是依赖属性吗?” 我不会说非常绝对或强调这里的一些规则集,但您应该将属性创建为dp。从设计的角度来看,如果一个属性是dp,那么它总是以wpf的默认形式使用/bind。
在实践中,我看到人们在嵌套绑定中犯了许多错误,然后引发更改,这种错误不会因为dp的设计和引发更改本身的兼容性而发生。因此,使用一些额外的语法,您可以为应用程序增加灵活性/性能/易用性。所以,只要能负担得起,就去买吧。 仍然不能确定ViewModel类/其他助手类。如果将来发现令人信服的原因,将更新答案。 |
![]() |
Kryptonit364 · 在DataGrid中隐藏调整大小和选择列 2 年前 |
![]() |
hassan Ma · 从顶部将文本插入WPF文本块 2 年前 |
![]() |
Arijit · 移动画布内绘制的矩形 2 年前 |
![]() |
juraj14466 · C#WPF实时图表将点渲染为图像 2 年前 |