![]() |
1
4
为什么不在控件的已加载事件中订阅tick事件,而在已卸载事件中取消订阅? |
![]() |
2
2
仅仅因为textBlock不实现IDisposable并不意味着您不能自己添加接口需求和实现。您可以实现Dispose-Yourself(不重写基中的任何内容)和Dispose-YoursTimer。 显然,您将负责处理您的ageTextBlock类。例如,您可以在Windows关闭事件中执行此操作。 (或者,如果您按照 MVVM pattern ,并将计时器放在视图模型上,可以使视图模型IDisposable,并将视图绑定到视图模型上的计时器值。) [编辑:是的,考虑到这一点,我不认为这应该是一个自定义控件,不像WinForms,WPF不需要自定义控件,相反,我认为我将在视图模型上公开一个计时器属性(可能是一个预格式化的属性,因此您有一个可读的字符串),并将该属性绑定到一个普通的文本框-没有自定义控件然后我会使用一个样式或模板来调整文本框的视觉属性,看看我想要什么。听起来怎么样?] |