我想在WPF中创建一个调度程序自定义控件。我也想要这个 控制是通用的,因此例如调度程序可以保存关于笔记,工人,会议等的事件。
所以我需要一个接口让我们说IContract,它将具有SaveEvent(),EditEvent()等方法。 每个特定的类(注意,会议......)必须实现该接口。 因此,在我的调度程序模型中,如果我想保存事件,我将通过接口来完成。
但问题是,我怎样才能通过这个实例(“合同”)
IContract contract = new Meeting();
到调度程序视图模型?将使用我的自定义控件的人将把这段代码放在一些XAML
中<local:Scheduler/>
现在我可以这样做:<local:Scheduler instanceClass="Meeting"/>
而且在调度程序视图模型中通过反射得到实例。那是好的解决方案吗?
还有其他办法吗?
答案 0 :(得分:2)
您可能希望在其他位置创建视图模型类,您可以在其中手动设置要使用的实例。然后将该实例绑定到视图。
这样的事情:
<local:Scheduler DataContext="{Binding Event}"/>
您可以选择为绑定创建除DataContext
之外的其他属性。