У меня есть базовый wpf usercontrol, который обрабатывает некоторую общую функциональность для полученных usercontrols. В коде-заводе любого производного usercontrol я называю событием < /p>
private void SomeClick(object sender, RoutedEventArgs e) {
HandleClick(sender);
MyDataGrid.Items.Refresh();
}
< /code>
В моем базовом usercontrol i do < /p>
public class BaseUserControl : UserControl {
protected void HandleClick(object sender) {
var vm = (BaseViewModel
)DataContext;
...
}
}
Это выбрасывает InvalidcastException , поскольку dataContext имеет тип BaseViewModel , но из производного типа, такого как BaseViewModel или baseviewModel .
У меня есть базовый wpf usercontrol, который обрабатывает некоторую общую функциональность для полученных usercontrols. В коде-заводе любого производного usercontrol я называю событием < /p>
public class BaseUserControl : UserControl { protected void HandleClick(object sender) { var vm = (BaseViewModel )DataContext; ... } } [/code]
Это выбрасывает [b] InvalidcastException [/b], поскольку dataContext имеет тип BaseViewModel , но из производного типа, такого как BaseViewModel или baseviewModel .