我有一个基本的 WPF UserControl,它处理派生 UserControl 的一些常见功能。在任何派生 UserControl 的代码隐藏中,我调用一个 eventprivate void SomeClick(object sender,
我有一个基本的 WPF UserControl,它处理派生 UserControl 的一些常见功能。在任何派生 UserControl 的代码隐藏中,我调用一个事件
private void SomeClick(object sender, RoutedEventArgs e) {
HandleClick(sender);
MyDataGrid.Items.Refresh();
}
在我的基本 UserControl 中我做
public class BaseUserControl : UserControl {
protected void HandleClick(object sender) {
var vm = (BaseViewModel<Part>)DataContext;
...
}
}
这将引发 InvalidCastException, 因为 DataContext
是类型 BaseViewModel
,但属于派生类型,如 BaseViewModel<Wire>
或 BaseViewModel<Connector>
.
我该如何施展这个招数?
演员通用
通用
下载声明:
本站所有软件和资料均为软件作者提供或网友推荐发布而来,仅供学习和研究使用,不得用于任何商业用途。如本站不慎侵犯你的版权请联系我,我将及时处理,并撤下相关内容!