在大型项目的开发过程中,经常需要将一些特定的功能模块化,以便在多个项目中复用。Modds Visual Program提供了一个Class Library Template,可以帮助创建.NETDLL,这些DLL可以在现有的Visual Studio项目中使用。本文将指导如何创建两个独立的DLL文件,并将它们集成到一个Visual Studio项目中,以开发一个股票图表程序。
为了开始本教程,需要以下工具和环境:
DLL功能控制是Modds IDE中的一个控件,用于为Class Library Template DLL创建功能接口。可以在Modds IDE的控件工具箱中找到它,路径为:Modds Common Controls -> Module -> DLL Function。这个控件专为Class Library Template设计,可以创建带有任意数量参数的接口函数,并且可以有或没有返回值。
在这个示例中,将创建两个独立的DLL文件:MarketDataYahoo.dll和MarketDataView.dll。MarketDataYahoo.dll将包含一个名为“GetStockMarketData”的接口函数,它接受三个参数(股票代码、开始日期和结束日期),并且不返回任何值,而是将市场数据值广播到“StockMarketData”消息通道。任何监听该消息通道的其他对象都可以处理这些数据。MarketDataView.dll将包含一个名为“CreateStockChartView”的接口函数,它不接受任何参数,并且返回一个股票图表视图对象。这个对象将监听“StockMarketData”消息通道。当有数据更新时,该对象将在其视图中显示。该对象视图可以与WPF ContentControl进行数据绑定,用于UI显示。
1. 创建一个类库项目,并将其命名为“MarketDataYahoo”。
2. 将“MarketData.dll”添加到项目引用中。可以从下载源(LIB)中获取这个DLL,它是之前示例中用于从Yahoo获取市场数据的代码。
3. 创建一个消息通道,并将其命名为“StockMarketData”。
4. 删除“DLLClass.xsml”文件,并创建一个新的Schema,将其命名为“DataServer.xsml”。双击打开它。
5. 将以下控件拖到设计板上,并按照以下图像连接它们:
1. 创建一个类库项目,并将其命名为“StockChartView”。
2. 将“ChartControl.dll”添加到项目引用中。可以从下载源(LIB)中获取这个DLL,它是之前示例中的WFP股票图表控件。
3. 将“MarketDataView.xaml”添加到SchemaView中。可以从下载源(LIB)中获取这个文件,它是股票图表视图的设计。
4. 创建一个消息通道“StockMarketData”。
5. 删除“DLLClass.xsml”文件,并创建一个新的Schema,将其命名为“StockChartView.xsml”。双击打开它。
6. 将以下控件拖到设计板上,并按照以下图像连接它们:
7. 创建一个新的Schema,并将其命名为“ObjectBuilder.xsml”。双击打开它。
8. 将以下控件拖到设计板上,并按照以下图像连接它们:
1. 创建一个新的WPF应用程序项目。
2. 将之前创建的两个DLL(MarketDataYahoo.dll和StockChartView.dll)添加到项目引用中。
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
chartContent.DataContext = StockChartView.ObjectBuilder.CreateStockChartView();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
string symbol = symbolBox.Text;
DateTime startDate = (DateTime)startDatePicker.SelectedDate;
DateTime endDate = (DateTime)endDatePicker.SelectedDate;
MarketDataYahoo.DataServer.GetMarketData(symbol, startDate, endDate);
}
}