Чтение и вывод сделок из архива Гидры
Здравствуйте!
Я изучаю C# и библиотеку S#, до этого имел дело лишь с Бейсиком и Паскалем в пределах университетского курса. Для самообучения решил написать программу, которая берёт из архива Гидры котировки ценной бумаги и выводит их в таблицу. Проще говоря, решил сделать программу-аналог окна Гидры, которое в исходниках называется "TradesWindow.xaml". В процессе написаня я столкнулся с двумя трудностями:
1)Привязку данных к GridViewColumn удаётся осуществить только с помощью вставки кода DisplayMemberBinding="{Binding Path=Id}" в окно редактора XAML. А как сделать это с помощью средств Visual Studio (в разделе DataContext пусто)?
2)При отладке компилятор пишет:
Ошибка 2 Требуется определение типа или пространства имен, либо признак конца файла
Ошибка 3 Элемент "storage" не существует в текущем контексте.
Ошибка 4 Элемент "security" не существует в текущем контексте.
Ошибка 1 Требуется "}"
Вот исходный код:
Code
namespace Sdelki
{
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Windows;
using System.Xml.Linq;
using System.Windows.Forms;
using Ecng.Common;
using Ecng.Interop;
using Ecng.Serialization;
using StockSharp.BusinessEntities;
using StockSharp.Algo.Storages;
using Microsoft.Win32;
using MessageBox = Microsoft.Windows.Controls.MessageBox;
public partial class MainWindow
{
public MainWindow()
{
InitializeComponent();
}
//Указываем путь к базе данных
private void _Fail_Click(object sender, RoutedEventArgs e)
{
var dlg = new FolderBrowserDialog();
if (!_Baza.Text.IsEmpty())
dlg.SelectedPath = _Baza.Text;
if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
_Baza.Text = dlg.SelectedPath;
}
}
//Выводим сделки в таблицу
private void _Sdelki(object sender, RoutedEventArgs e)
{
//Проверяем, указан ли путь к базе данных
if (_Baza.Text.IsEmpty() || !Directory.Exists(_Baza.Text))
{
MessageBox.Show(this, "Неправильный путь.");
return;
}
// Создаем инструмент, который будем выводить в таблицу
var security = new Security
{
Id = "RIU9@RTS",
Code = "RIU9",
Name = "RTS-9.09",
MinStepSize = 5,
MinStepPrice = 2,
Exchange = Exchange.Test,
};
// Создаём хранилище, через которое будет производиться доступ к тиковой
// и котировочной базе данных
var storage = new TradingStorage(new InMemoryStorage())
{
BasePath = _Baza.Text
};
//Ошибка 1
var tradeStorage = storage.GetTradeStorage(security);
//Выводим сделки в таблицу
private void FindedTrades_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
{
//Ошибка 3 и Ошибка 4
FindedTrades.ItemsSource = storage.GetTradeStorage(security, _Baza.Text)
.Load();
}
}
}
// Ошибка 2
}
Я понимаю, что у профессиональных программистов мои вопросы вызовут улыбку [biggrin] , ибо для них тут нет сложностей. Но я бьюсь над этим второй день и чего только не перепробовал, но увы и ах... Подозреваю, что собака порылась в закрытых полях и свойствам для их чтения. Подскажите, в чём моя ошибка? И скажите пожалуйста, как вставлять код в сообщение так, чтобы он выглядел как в окне редактора Visual Studio?