Q
从静态上下文
2
A
回答
6
由于(非附件)DependencyProperties被限制在其所有者类型设定你可以创建一个实例方法来保存你的逻辑和铸造调用从静态方法的DependencyObject:
public static readonly DependencyProperty IsInReadModeProperty = DependencyProperty.Register(
"IsInReadMode",
typeof(bool),
typeof(RegCardSearchForm),
new UIPropertyMetadata(false, ReadModeChanged));
private static void ReadModeChanged(DependencyObject dObj, DependencyPropertyChangedEventArgs e)
{
RegCardSearchForm form = dObj as RegCardSearchForm;
if (form != null)
form.ReadModeChanged((bool)e.OldValue, (bool)e.NewValue);
}
protected virtual void ReadModeChanged(bool oldValue, bool newValue)
{
// TODO: Add your instance logic.
}
0
如果ReadModeChanged
是您的按钮的容器的静态方法,那么只需使它成为容器的实例方法。
1
一种方法是从DependencyObject
扩展一个类,该类将包含要操纵的控件的设置/获取。并通过访问DependencyObject
在ReadModeChanged
事件中处理它。
This example可能会有所帮助。
...示例派生自DependencyObject以创建一个新的抽象类。然后,该课程将注册一个附属财产,并包括支持成员。
0
这些东西必须是静态的才能使DependencyProperty正常工作但是,您的PropertyChanged处理程序的参数可能是您需要的东西:它是属性刚更改的实例。我怀疑这会适用于你:
public static void ReadModeChanged(DependencyObject d,
DependencyPropertyChangedEventArgs e)
{
if ((bool)e.NewValue)
{
RegCardSearchForm c = (RegCardSearchForm)d;
c.btnSearch.Visibility = Visibility.Collapsed;
c.btnExport.Visibility = Visibility.Collapsed;
c.cbExportWay.Visibility = Visibility.Collapsed;
}
}
相关问题
- 1. 的Java不能从静态上下文
- 2. 如何从静态上下文中引用非静态方法
- 3. 非静态方法不能从静态上下文中引用?
- 4. 非静态字符串不能从静态上下文
- 5. 非静态方法不能从静态上下文中引用
- 6. 非静态方法不能从静态上下文中引用?
- 7. 从静态上下文引用的非静态变量
- 8. JAVA:非静态变量randomNums不能从静态上下文
- 9. 非静态变量不能从静态上下文中引用
- 10. 非静态方法...不能从静态上下文
- 11. 非静态方法不能从静态上下文
- 12. 非静态方法()不能从静态上下文
- 13. 非静态方法不能从静态上下文中引用
- 14. 非静态setGravity不能从静态上下文中引用
- 15. 非静态变量列表不能从静态上下文
- 16. 非静态方法不能从静态上下文中引用
- 17. 从非静态的上下文调用静态方法
- 18. 从静态上下文中访问非静态方法
- 19. 非静态变量不能从静态上下文
- 20. “不能从静态上下文中引用非静态变量”?
- 21. Java静态上下文
- 22. 静态上下文警告
- 23. 静态上下文错误
- 24. 非静态变量pRef无法从静态上下文中引用
- 25. 非静态变量名称不能从静态上下文中引用
- 26. 非静态方法getAssets不能从静态上下文中引用(Java)(Android)
- 27. setDisplayHomeAsUpEnabled()错误:无法从静态上下文中引用非静态方法
- 28. 非静态方法generatePublic(keySpec)根据不能从静态上下文
- 29. java:非静态变量不能从静态上下文中引用错误
- 30. JAVA“非静态变量,这不能从静态上下文中引用”
为什么'ReadModeChanged'是静态的? – 2010-10-28 07:45:30
denepdency属性必须始终是静态的吗? PropertyMetadata类需要静态属性更改方法 – Polaris 2010-10-28 07:58:26
什么对象具有此属性? – 2010-10-28 09:35:44