Здравствуйте! Я изучаю C# и библиотеку S#, до этого имел дело лишь с Бейсиком и Паскалем в пределах университетского курса. Для самообучения решил написать программу, которая берёт из архива Гидры котировки ценной бумаги и выводит их в таблицу. Проще говоря, решил сделать программу-аналог окна Гидры, которое в исходниках называется "TradesWindow.xaml". В процессе написаня я столкнулся с двумя трудностями: 1)Привязку данных к GridViewColumn удаётся осуществить только с помощью вставки кода DisplayMemberBinding="" в окно редактора XAML. А как сделать это с помощью средств Visual Studio (в разделе DataContext пусто)? 2)При отладке компилятор пишет: Ошибка 2 Требуется определение типа или пространства имен, либо признак конца файла Ошибка 3 Элемент "storage" не существует в текущем контексте. Ошибка 4 Элемент "security" не существует в текущем контексте. Ошибка 1 Требуется "}"
Вот исходный код:
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
}
Я понимаю, что у профессиональных программистов мои вопросы вызовут улыбку 😀 , ибо для них тут нет сложностей. Но я бьюсь над этим второй день и чего только не перепробовал, но увы и ах... Подозреваю, что собака порылась в закрытых полях и свойствам для их чтения. Подскажите, в чём моя ошибка? И скажите пожалуйста, как вставлять код в сообщение так, чтобы он выглядел как в окне редактора Visual Studio?
Kommentare (2)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
Скорее усталость. Выделяйте код тегами. Старайтесь сделать свое сообщение привлекательным для ответов.
Вот как простой пример.
CS
XAML
А это насчет тегов