public void Order_Clicked(object sender, EventArgs e) {
SurfaceWindow sw2 = new SurfaceWindow2();
sw2.Show();// открываю второе окно, куда нужно будет записать данные
StreamWriter sw = new StreamWriter(@"D:\Users\Maxxim\Documents\Visual Studio 2008\Projects\MS_SurfaceApp\MS_SurfaceApp\Resources\order.txt");
if (menuItem.SelectedItems.Count !=0){
string s = " ";
for (int x = 0; x <= menuItem.SelectedItems.Count - 1; x++)
{
s = x + " " + s + (x + 1).ToString() + " = " + menuItem.SelectedItems[x].ToString() + "\n";
}
sw.Write(s);
sw.Close();
}
}
досткп к данным из Checked ListBox из другого окна
У меня возник вопрос -
Есть 2 окна, в одном из них есть CheckedListBox.
Возможо ли отобразить во втором окне те Items, которые отмечены в первом окне в ListBox?
- в первом окне есть комбо бокс и лист бокс (С), которые отображют данные из XML файла.Соеденеиие с элементами XML файлом - при помощи Binding XPath......
В первом окне есть кнопка, после нажатии которой нужно передать данные, отмеченные в Checked List Box из первого окна во второе.
- Во втором окне для этих отмеченных данных есть ТекстБлок. Собственно туда их нужно поместить.
Никаких дополнительных UserControls нет.
Я решил дествовать так:
- отмеченные Items из Checked ListBox первого окна записывать в текстовый файл.
А потом считывать из него в ТекстБлок второго окна.
Вот что я нагородил:
Нажата кнопка на первом окне, записываю выделенные Items в текстовый файл, который лежит в Resourses:
Код:
Теперь при открытии второго окна пытаюсь считать записанные данные из файла.
Для этого - метода Loaded="Window_Loaded" в XALM второго окна.
Код:
private void Window_Loaded(object sender, RoutedEventArgs e)
{
if (IsLoaded)
{
LoadTextBoxes();
}
}
//
private void LoadTextBoxes()
{
StreamReader sr = new StreamReader(@"D:\Users\Maxxim\Documents\Visual Studio 2008\Projects\MS_SurfaceApp\MS_SurfaceApp\Resources\order.txt"); //считываю данные из файла
StreamWriter sw1 = new StreamWriter(FoodTB.ToString(), false); //записываю данные в текст бокс с названием FoodTB
sw1.Write(sr.ReadToEnd());
sr.Close();
sw1.Close();
}
{
if (IsLoaded)
{
LoadTextBoxes();
}
}
//
private void LoadTextBoxes()
{
StreamReader sr = new StreamReader(@"D:\Users\Maxxim\Documents\Visual Studio 2008\Projects\MS_SurfaceApp\MS_SurfaceApp\Resources\order.txt"); //считываю данные из файла
StreamWriter sw1 = new StreamWriter(FoodTB.ToString(), false); //записываю данные в текст бокс с названием FoodTB
sw1.Write(sr.ReadToEnd());
sr.Close();
sw1.Close();
}
Но текст Бокс второго окна пуст...
Подскажите, пожайлкста, что я делаю не так.
спасибо за ответы