gpt4 book ai didi

c# - 试图了解DependencyProperty

转载 作者:太空狗 更新时间:2023-10-29 17:49:50 24 4
gpt4 key购买 nike

对WPF来说是新手,它具有惊人的更改,绑定(bind),启用和其他操作的能力。我正在尝试从心理上概述正在发生的事情,并希望某些人可以确认或纠正我的读数。

在WPF之前,您有代表和事件。您可能有十二个控件都在监听(通过注册事件),因此,在事件触发时,所有其他控件都将自动得到通知,并且可以按照其编码进行操作。如...

在“隐藏代码”中,您将执行以下操作

GotFocus += MyMethodToDoSomething;

然后,签名方法
private void MyMethodToDoSomething(object sender, RoutedEventArgs e)
{
.. do whatever
}

此外,通过使用标准的getter/setter,setter可以在自己的类中调用其自己的方法,以在每次有人尝试获取或设置值时执行某些操作
private int someValue;
public int SomeValue
{
get { this.DoSomeOtherThing();
return someValue;
}

set { this.DoAnotherThing();
someValue = value;
}

现在,有了依赖项属性和单向/双向绑定(bind)。我了解(我认为)关于一种模拟更多只读操作的方法。

无论如何,通过两种方式的绑定(bind),依赖项会自动通知任何人“分别”依赖于源或目标的更改,而无需显式检查是否有事件已订阅,该框架会自动处理将更改通知给相应的对象控制(目标或源)。

因此,让我使用旧的“添加/编辑保存/取消”维护表单来解决此问题。
在较旧的框架中,如果有人单击添加或编辑按钮,则所有数据输入字段都将变为“启用”状态,其中包含用于新记录的空白数据或编辑现有数据。同时,添加/编辑按钮将被禁用,但是保存/取消按钮现在将被启用。

同样,通过“保存/取消”完成后,它将禁用所有输入字段,保存/取消并重新启用“添加/编辑”按钮。

我不太了解如何在这种依赖属性场景下处理这种类型的场景(但是),但是我是否关闭了?我也了解您可以绑定(bind)到几乎所有内容,包括配色方案,显示/隐藏,字体等。但是我在尝试真正掌握这些内容方面迈出了很小的一步。

谢谢。

最佳答案

张贴者已要求我重新发表评论以作答。很高兴履行义务:-)

  • 我提到的视频演示:http://blog.lab49.com/archives/2650
  • 奖金链接:MSDN中很棒的WPF文章:http://msdn.microsoft.com/en-us/magazine/dd419663.aspx
  • 如果您不了解它,在线文档中还会有一章:http://msdn.microsoft.com/en-us/library/ms752914.aspx

  • 我也发现这本书非常有帮助: http://www.amazon.com/WPF-4-Unleashed-Adam-Nathan/dp/0672331195

    我自己在WPF方面的经验涉及在尝试使程序正常工作时在许多不同的资源之间进行回溯。 WPF中有很多东西,在学习的过程中很难将其全都牢记在心。

    关于c# - 试图了解DependencyProperty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7592013/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com