powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Добавление новых строк в таблицу
25 сообщений из 215, страница 6 из 9
Добавление новых строк в таблицу
    #37297644
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

ну так выше я уже ответил!

диктую ключи:
берете ту страницу, в которой нужно открывать чилд по нажатию каких-то кнопок, создаете там единственный экземпляр ChildWindow
Код: plaintext
1.
ChildWindowControl childWindow = new ChildWindowControl();

и в событиях указанных выше кнопок пишите:
Код: plaintext
1.
2.
3.
4.
buttonAdd_click
childWindow.ShowPage(0);
...
buttonDelete_click
childWindow.ShowPage(1);
все, куда еще проще ну прям не знаю.

сам перешел с Делфей, тут все тоже самое, идеология языка все того-же автора, что делал Делфи...
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37297813
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас уже поздно, но все же напишу. Есть форма назовем ее MainWorm там кнопка открывающая Child, т.к. у меня не получилось работать с Cildom'i Вы посоветовали воткнуть в "фрейм" Page т.к. там есть методы которых мне не хватала в Chil'де. Вся "вигня" (кнопочки, минюшки и т.п.) прописываются в подгружаемых в Frame страницах, а не в Cild'e. Вот тут у меня и начинаются проблемы. То что лежит на Child'е (кнопки) работают, а те что на подгружаемых страницах нет. Я накидал самый простой пример, посмотрите, если нет возможности скачать киньте mail я туда залью. Вроде делаю все так как Вы сказали, но что-то не получается. Если это сделать не "возможно" так буду искать другие пути. Спасибо, многим помогли.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37297882
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

пример не вижу, мыло в профиле.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37298160
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кинул на ящик также можно скачать с http://depositfiles.com/files/mwrouezjs
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37298458
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

вывод простой:
вам лучше пойти почитать книгу, иначе так и будете сидеть на форуме и спрашивать.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37298515
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. На счет книг, не посоветуете (желательно на русском).
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37298596
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

тынц
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37300034
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняйте, может не сюда пишу. А есть возможность из подгружаемой Page где отсутствует
Код: plaintext
1.
 Child_Window_Plan Plan = new Child_Window_Plan();
вызвать функцию из Child.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37300331
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

да можно, через VisualTreeHelper
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
public class TreeHelper
    {
        public static T FindVisualParent<T>(UIElement element) where T : UIElement
        {
            UIElement parent = element;

            while (parent != null)
            {
                T correctlyTyped = parent as T;
                if (correctlyTyped != null)
                {
                    return correctlyTyped;
                }
                parent = VisualTreeHelper.GetParent(parent) as UIElement;
            }

            return null;
        }

        public static T FindChild<T>(DependencyObject parent) where T : DependencyObject
        {
            if (parent == null)
                return null;

            T childElement = null;

            int childrenCount = VisualTreeHelper.GetChildrenCount(parent);

            for (int i = 0; i < childrenCount; i++)
            {
                var child = VisualTreeHelper.GetChild(parent, i);
                T childType = child as T; if (childType == null)
                {
                    childElement = FindChild<T>(child); if (childElement != null) break;
                }
                else
                {
                    childElement = (T)child; break;
                }
            }

            return childElement;
        }
    }


использование
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Child_Window_Plan childWindow = TreeHelper.FindVisualParent<Child_Window_Plan>();

if(childWindow != null)
{
  // TODO
}

...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37301062
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильно ли я понял
Код: plaintext
1.
2.
3.
4.
public class TreeHelper
{
.......
}
добавляем в .cs ChildWindow, а
Код: plaintext
1.
2.
3.
4.
5.
 Child_Window_Plan child_Window = Child_Window_Plan.TreeHelper.FindVisualParent<Child_Window_Plan>();
            if (child_Window != null)
            {
             child_Window.ShowPage();
            }
прописываем в подгружаемой страницы и например вешаем на "клик_кнопки" при нажатии должна выполнится процедура ShowPage(); из Child_Window_Plan. только вот что-то не выполняется и ругается на
Код: plaintext
 throw new NotImplementedException();
"Метод или операция не реализованы".
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37301255
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

зачем его добавлять в ChildWindow?

это Хелпер который позволяет из любой части места программы обратиться к классу, положите его в корень проекта, скажем в папку Helpers и вызывайте его на тех страницах, где вам нужно.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37301386
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. создать файл .cs кинуть туда "класс" и просто вызвать как сказали Вы
Код: plaintext
1.
2.
3.
4.
5.
Child_Window_Plan childWindow = TreeHelper.FindVisualParent<Child_Window_Plan>();

if(childWindow != null)
{
  // TODO
}
А. что есть разница в том где он будет находится? Просто смущает та ошибка. Ну, да ладно завтра проверю. Спасибо
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37301393
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

можете хранить всю программу хоть в одном файле, но вы же должны понимать, что котлеты и конфеты должны лежать в разных тарелках ?!
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37301998
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
уТКаChek_Fedor,

можете хранить всю программу хоть в одном файле, но вы же должны понимать, что котлеты и конфеты должны лежать в разных тарелках ?!
Т.е. в данном случае нет разницы в какой файл я его "засуну" я смогу к нему обращаться из любого файла.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37302375
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

да.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37302514
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что делать с
Код: plaintext
1.
2.
3.
4.
    internal static Child_Window_Plan FindVisualParent<T1>()
            {
                throw new NotImplementedException();
            }
т.е.
FindVisualParent не найден
Код: plaintext
Child_Window_Plan child_Window = TreeHelper.FindVisualParent<Child_Window_Plan>();
куда отнести
Код: plaintext
1.
2.
3.
4.
5.
    
internal static Child_Window_Plan FindVisualParent<T1>()
            {
                throw new NotImplementedException();
            }
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37302628
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Упс. Точнее ругается на
Код: plaintext
1.
2.
 Child_Window_Plan childWindow = TreeHelper.FindVisualParent<Child_Window_Plan>();
            if (childWindow != null)
Ошибка 1 Ни одна из перегрузок метода "FindVisualParent" не принимает "0" аргументов
И предлагает создать заглушку
Что я и проделал изначально
Код: plaintext
1.
2.
3.
4.
    internal static Plan.Child_Window_Plan FindVisualParent<T1>()
        {
            throw new NotImplementedException();
        }
Которая судя по всему не нужна
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37302754
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

не нужна конечно, в аргумент вы передавайте текущий объект, тем самым вы этому небольшому алгоритму говорите "откуда начать поиск необходимого элемента".
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37302783
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
уТКаChek_Fedor,

не нужна конечно, в аргумент вы передавайте текущий объект, тем самым вы этому небольшому алгоритму говорите "откуда начать поиск необходимого элемента".
Так... Child_Window_Plan является дочерним окном находящемся в папке Plan там-же находится Page_Window_Plan.xaml.cs в коде которого я и пытаюсь проделать "на кнопке"
Код: plaintext
1.
2.
3.
4.
5.
 Child_Window_Plan childWindow = TreeHelper.FindVisualParent<Child_Window_Plan>();
            if (childWindow != null)
            {
             childWindow.ShowPage();
            }
т.е. вызвать функцию ShowPage
Код: plaintext
1.
ShowPage(); //Функция из Child_Window_Plan 
В чем ошибка?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37302976
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

блин да что-ж такое -то, вы хотите без опыта с первых дней в технологии написать Enterprise приложение?

не получится!
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37302994
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не ругайтесь, я пытаюсь совместить приятное с полезным (изучение+написание программы). Я сам прекрасно понимаю, что очень многого я пока не знаю. Все это для меня пока новое (и смотрю я на это как .... на новые ворота). Спасибо.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37303005
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам бы книгу написать, собрав туда все то о чем Вы здесь "говорите" с примерами. Тогда такие как я не умчали бы вас и форум глупыми вопросами со всеми вытекающими от сюда.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37303127
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

:)

так это все равно, что описывать случаи жизни, ситуации могут быть разными, да и описать все не получится, что-то забыто, где-то на автомате идешь.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37304227
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А есть возможность изменить размер поля
Код: plaintext
1.
2.
[Display(Name = "Код специальности")]
        public string name { get; set; }
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37304696
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

раскройте вопрос, и желательно ставить в конце знак препинания, иначе кажется, что вы просто говорите, не спрашивая и не восклицая.
...
Рейтинг: 0 / 0
25 сообщений из 215, страница 6 из 9
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Добавление новых строк в таблицу
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]