gpt4 book ai didi

Silverlight:如何接收继承的 DependencyProperty 更改的通知

转载 作者:行者123 更新时间:2023-12-04 00:45:50 24 4
gpt4 key购买 nike

我有一个控件继承自(你猜对了)控件。
我想在 FontSize 时收到通知或 Style属性发生变化。在 WPF 中,我会通过调用 DependencyProperty.OverrideMetadata() 来做到这一点。 .当然,Silverlight 中没有这种有用的东西。那么,如何才能收到这些通知呢?

最佳答案

我认为这是一个更好的方法。仍然需要看到利弊。

 /// Listen for change of the dependency property
public void RegisterForNotification(string propertyName, FrameworkElement element, PropertyChangedCallback callback)
{

//Bind to a depedency property
Binding b = new Binding(propertyName) { Source = element };
var prop = System.Windows.DependencyProperty.RegisterAttached(
"ListenAttached"+propertyName,
typeof(object),
typeof(UserControl),
new System.Windows.PropertyMetadata(callback));

element.SetBinding(prop, b);
}

现在,您可以调用 RegisterForNotification 来注册元素属性的更改通知,例如 。
RegisterForNotification("Text", this.txtMain,(d,e)=>MessageBox.Show("Text changed"));
RegisterForNotification("Value", this.sliderMain, (d, e) => MessageBox.Show("Value changed"));

在这里看到我的帖子 http://amazedsaint.blogspot.com/2009/12/silverlight-listening-to-dependency.html

使用 Silverlight 4.0 测试版。

关于Silverlight:如何接收继承的 DependencyProperty 更改的通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/834929/

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