我有2个页面几乎相同的代码隐藏(. xaml.cs文件)。他们有不同的布局虽然(.xaml文件是不同的)。在代码隐藏文件,唯一的区别是变量的类型。所有其他过程/函数是完全相同的。
例如:
第一页:
public sealed partial class Page1 : Page
{
public List<CarVersion1> cars = new List<CarVersion1>();
public CarVersion1 currentCar;
...
private UpdatePrice(int p) {
currentCar.Price = p;
}
}
第二页:
public sealed partial class Page2 : Page
{
public List<CarVersion2> cars = new List<CarVersion2>();
public CarVersion2 currentCar;
...
private UpdatePrice(int p) {
currentCar.Price = p;
}
}
是否可以只使用1个代码隐藏文件而不是复制它?
2条答案
按热度按时间0mkxixxg1#
我想你需要创建一个ViewModel,并把所有的通用逻辑放在那里。
汽车版本.cs
视图模型.cs
第一页. xaml.cs
第二页. xaml.cs
第一页. xaml
第二页. xaml
主窗口.xaml
1l5u6lss2#
你可以为两个页面创建一个BaseViewModel。然后继承它。你可以参考这个sample example。