3 回答
TA贡献1806条经验 获得超8个赞
我会向窗口添加一个事件,并将一个事件处理程序绑定到它。
class WndWindow{
BtnPaid_Click(object sender, EventArgs e){
using(var paid = new PaidOutReason()){
paid.BtnAddClick += Paid_BtnAddClick;
paid.ShowDialog();
paid.BtnAddClick -= Paid_BtnAddClick;
}
}
Paid_BtnAddClick(object sender, EventArgs e){
var popu = new PopUpBanks();
popu.Show();
}
}
class PaidOutReason{
public event EventHandler BtnAddClick;
BtnAdd_Click(object sender, EventArgs e){
//Do standard event handler code
BtnAddClick?.Invoke(this, e);
}
}
如果您需要执行任何类型的检查,您可以在阅读事件之前执行此操作,如果检查失败则简单地返回。
TA贡献1818条经验 获得超8个赞
处理以下Click事件btnSave:
PaidOutReason paid = new PaidOutReason(trnprt, apiParameters);
paid.btnSave.Click += (ss, ee) =>
{
PopUpBanks popu = new PopUpBanks(this);
popu.Show();
};
paid.Show();
TA贡献2021条经验 获得超8个赞
如果您使用的是 MVVM 模式,那么您可以使用命令绑定来显示 PopupBanks 窗口。例如:
public class ViewModel : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public ICommand AddCommand { get; set; }
public ViewModel()
{
AddCommand = new RelayCommand(AddCommandHandler);
}
private void AddCommandHandler()
{
IPopUpBanks popu = new PopUpBanks(this);
popu.Show();
}
}
PaidOutReason视图: 1. <Button x:Name="Add" Command={Binding AddCommand}/> 2. 将上述viewmodel 设置为PaidOutReason 视图的datacontext。
创建一个包含 Show() 方法的接口 IPopUpBanks 并在PopUpBanks视图上实现此接口。
- 3 回答
- 0 关注
- 291 浏览
添加回答
举报
