如何在WPF中获得所需类的实例

本文关键字:实例 WPF | 更新日期: 2023-09-27 18:05:54

我想在WPF中创建一个调度程序自定义控件。我也想要这个控件是通用的,因此,例如调度程序可以保存关于笔记,工作人员,会议等事件。

所以我需要一个接口,比如IContract,它将有SaveEvent(), EditEvent()等方法。每个特定的类(注意,Meeting…)都必须实现该接口。因此,在我的视图模型中的调度程序如果我想保存事件,我将通过接口。

但是问题是,我如何传递这个实例("contract")

IContract contract = new Meeting();

到调度程序视图模型?使用我的自定义控件的人会把这些代码放到XAML

<local:Scheduler/>

现在我可以这样做:<local:Scheduler instanceClass="Meeting"/>然后在调度视图模型中通过反射获取实例。这是一个好的解决方案吗?

还有别的办法吗?

如何在WPF中获得所需类的实例

您可能希望在其他地方创建视图模型类,在那里手动设置要使用的实例。然后将该实例绑定到视图。

像这样:

<local:Scheduler DataContext="{Binding Event}"/>

您可以选择为绑定创建DataContext以外的其他属性