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

опишите, что пытаетесь делать?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37287089
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Описано сообщением выше. Есть "кнопка" Хоть она и является частью DevExpressov'ского компонента но функции те-же.
Код: plaintext
1.
2.
3.
<dxb:BarButtonItem Name="bOpen" Content="Открыть" 
                            Hint="Открыть план" ItemClick="bOpen_ItemClick" >
</dxb:BarButtonItem>
также в проекте имеется страница с названием Page_add. Как перейти (загрузить ее) к ней при нажатии на "кнопку"?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37287163
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_FedorОписано сообщением выше. Есть "кнопка" Хоть она и является частью DevExpressov'ского компонента но функции те-же.
Код: plaintext
1.
2.
3.
<dxb:BarButtonItem Name="bOpen" Content="Открыть" 
                            Hint="Открыть план" ItemClick="bOpen_ItemClick" >
</dxb:BarButtonItem>
также в проекте имеется страница с названием Page_add. Как перейти (загрузить ее) к ней при нажатии на "кнопку"?

Федор, забрось DevExpress, а в особенности BarButtonItem, так далеко как только сможешь.
BarButtonItem - коряга из Winforms, которую можно спокойно заменить на что угодно: NavigationLink,BUtton, ListBox, etc
Тогда можно будет делать привязку к списку, применять команды, а не задавать каждый раз контекст и обработчики для этого недоразумения
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37287176
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да фик с ним. Я кидал простую кнопку на MainForm. Также не смог при нажатии на нее загрузить страницу.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37287181
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaChek_FedorОписано сообщением выше. Есть "кнопка" Хоть она и является частью DevExpressov'ского компонента но функции те-же.
Код: plaintext
1.
2.
3.
<dxb:BarButtonItem Name="bOpen" Content="Открыть" 
                            Hint="Открыть план" ItemClick="bOpen_ItemClick" >
</dxb:BarButtonItem>
также в проекте имеется страница с названием Page_add. Как перейти (загрузить ее) к ней при нажатии на "кнопку"?

Федор, забрось DevExpress, а в особенности BarButtonItem, так далеко как только сможешь.
BarButtonItem - коряга из Winforms, которую можно спокойно заменить на что угодно: NavigationLink,BUtton, ListBox, etc
Тогда можно будет делать привязку к списку, применять команды, а не задавать каждый раз контекст и обработчики для этого недоразумения
Раз тут все говорят забросить DevExpress, то подскажите чем можно заменить меню-панель типа как в Office 2003, 2007
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37287832
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_FedorДа фик с ним. Я кидал простую кнопку на MainForm. Также не смог при нажатии на нее загрузить страницу.
так эта страница, она откуда, из этого проекта или из другой сборки?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37287885
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Она из этого проекта. Загружается прекрасно если использовать
.XAML
Код: plaintext
1.
2.
<navigation:Frame x:Name="Frame" />
<HyperlinkButton Click="HyperlinkButton_Click" Tag="/Page_add.xaml" Content="Page"/>
.CS
Код: plaintext
1.
2.
3.
4.
5.
6.
   private void HyperlinkButton_Click(object sender, RoutedEventArgs e)
        {
            HyperlinkButton btn = sender as HyperlinkButton;
            string url = btn.Tag.ToString();
            this.Frame.Navigate(new Uri(url, UriKind.Relative));
        }
Станица при нажатии на "Page" отображается. Мне нужно чтобы она отображалась при нажатии на Button (кнопку).
Например на эту
Код: plaintext
1.
<Button Content="Button" Height="23" Name="button" Width="75" Click="button_Click" />
Что писать в обработчики или есть другой способ реализации?
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37287929
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот оказывается, что мне нужно было... Добавить
Код: plaintext
1.
<navigation:Frame x:Name="Frame" />
И в обработчики "клика" кнопки прописать
Код: plaintext
1.
 this.Frame.Navigate(new Uri("/Page_add.xaml", UriKind.Relative));   
Все. Теперь буду колдовать с внешним видом страниц, мне не нужно что-бы они занимали всю рабочую область. Желательно придать им вид типа как у ChildWindow. Спасибо за помощь.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37288021
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

у меня честно после этого кода глаза из орбит чуть не вылезли )))
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
public void Navigate(Pages newPage)
        {
            App currentApp = (App)Application.Current;
            if (!pageCache.ContainsKey(newPage))
            {
                Type type = currentApp.GetType();
                Assembly assembly = type.Assembly;
                pageCache[newPage] = (UserControl)assembly.CreateInstance(type.Namespace + "." + newPage.ToString());
                pageCache[newPage].SetBinding(Page.DataContextProperty, binding);
            }
            viewBox.Child = pageCache[newPage];
        }

через Assembly грузят другие сборки и их ресурсы, но не ресурсы которые находятся в текущем проекте.

то что разобрался молодец, как видишь все достаточно просто.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37288136
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я сам тот код не понял, есть один проект там кстати кнопки работают т.е. страницы подгружаются (отображаются). Вот я от туда его и "содрал". Очень жалею, что приходится отказываться от Child'ов красиво и информативно. Например: работаешь с таблицей захотел открыть другую отобразил "чилд", а в общем при использовании "чилдов" есть возможность краем глаза посмотреть что на заднем фоне (но это лично мои соображения). Посоветуйте как Page сделать "похожими" на Child (ограничить в размере).
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37288169
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

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

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

да, создаешь страницу унаследованную от ChildWindow, кладешь туда фрейм, создаешь метод в который будешь передавать URL страницы которую нужно открыть, метод командует фрейму открыть указанную страницу, профит.
Упс, а как создать страницу унаследованную от ChildWindow? Например есть некая Child_add и Page_add. В Child_add есть все что мне нужно (Grid и т.д.). Ну, если по русски, какую форму нужно "наполнять" и как это реализовать. Можно мини примерчик.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37288906
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь, поспешил с вопросом. Напугали слова "унаследованную форму..." все оказалось проще.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37288949
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

все просто
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37289820
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Теперь вот бьюсь с передачей фокуса GridControl, в идеале хотелось бы чтобы активной была 1 запись.
Код: plaintext
Control_Plan.Focus();
Не работает, т.е. пока я "мышкой" не "кликну" по GridControl я не могу перемещаться по записям с помощью клавиатуры (вывод фокус не передается).
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37289949
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, тут еще одна "непонятка" приключилась. Создал еще одну страницу+Child с "Фреймом" по тому-же принципу пытаюсь открыть Child открывается только вот содержимое грузит ту страницу откуда пытаюсь открыть этот Child.
Page_Window_Plan
Код: plaintext
1.
2.
3.
4.
5.
     private void AddItem_ItemClick(object sender, DevExpress.Xpf.Bars.ItemClickEventArgs e)
        {
            Child_add add = new Child_add();
            add.Show();   
        }

Child_add
Код: plaintext
1.
2.
3.
4.
5.
   public Child_add()
        {
            InitializeComponent();
            this.Frame_add.Navigate(new Uri("/Plan/Page_add.xaml", UriKind.Relative));
        }
а грузит Page_Window_Plan
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37289976
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

а зачем несколько чилдов делать?
тот что я подкинул универсален, только подставляй на входе в метод ShowPage разные URI страниц и все будет в шоколаде.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37290301
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, я пока сам полностью не представляю структуру (интерфейс) базы данных (все в разработке). Задумка на начало следующая. Первый "чилд" открытие некого "плана" при выборе "плана" есть возможность отредактировать, удалить, добавить новый (реализовано с помощью выпадающего меню) тут, все это делается в дополнительном "чилде" с подгрузкой справочников (фильтров) и т.д. Если бы я знал как реализовать, например, такой вариант, при выборе редактирования и т.п. не появляется новый "чилд" а страница грузится (отображается) в том "чилде" где был список "планов" далее все зависит от нажатия тех или иных кнопок.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37290304
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробую Ваш метод у меня сейчас все "просто" при открытии нового "чилда" после инициализации прописываю загрузку страницы в "Фрейм"
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37290413
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedor,

у тебя все страницы должны быть унаследованы от Page (шаблон для создания Silverlight Page), в этих страницах так же можно проводить навигацию через NavigationService чтобы открыть другую страницу но в том же фрейме.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37290774
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так, в один и тот-же Frame загружать научился.
Child_Window
Код: plaintext
<sdk:Frame HorizontalAlignment="Left" Name="frame" VerticalAlignment="Top" />
Кнопка на Main
Код: plaintext
1.
2.
3.
4.
5.
    private void button1_Click(object sender, RoutedEventArgs e)
        {
            Child_Window add = new Child_Window();
            add.Show();
        }
Child_Window.xaml.cs
Код: plaintext
1.
2.
3.
4.
5.
    public Child_Window()
        {
            InitializeComponent();
            this.frame.Navigate(new Uri("/Plan/Page_add.xaml", UriKind.Relative));
        }
Кнопка на Child_Window
Грузим в тот-же Frame другую страницу
Код: plaintext
1.
2.
3.
4.
    private void button1_Click(object sender, RoutedEventArgs e)
        {
           this.frame.Navigate(new Uri("/Plan/Page_2.xaml", UriKind.Relative));            
        }
но если я пытаюсь повесить на эту кнопку открытие другого Child'a
ChildWindow_1
Код: plaintext
1.
<sdk:Frame Height="100" HorizontalAlignment="Left" Margin="108,113,0,0" Name="frame1" VerticalAlignment="Top" Width="200" />
Кнопка на Child_Window грузим ChildWindow_1
Код: plaintext
1.
2.
3.
4.
5.
   private void button1_Click(object sender, RoutedEventArgs e)
        {
            ChildWindow_1 add_1 = new ChildWindow_1();
            add_1.Show();
        }

Код: plaintext
1.
2.
3.
4.
5.
   public ChildWindow_1()
        {
            InitializeComponent();
            this.frame1.Navigate(new Uri("/Plan/Page_2.xaml", UriKind.Relative));
        }
Тут почему-то в ChildWindow_1 грузится (отображается) страница Page_add т.е. та которая была загружена в Child_Window.
...
Рейтинг: 0 / 0
Добавление новых строк в таблицу
    #37290878
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эксперимент продолжается. Чего то я в этих Child'ах я не понимаю. Даже без
Код: plaintext
1.
            this.frame1.Navigate(new Uri("/Plan/Page_2.xaml", UriKind.Relative));
при открытии ChildWindow_1 на ней отображается страница Page_add если вынести
Код: plaintext
1.
            this.frame1.Navigate(new Uri("/Plan/Page_2.xaml", UriKind.Relative));
на кнопку то при нажатии страница Page_2 грузится на все Child'ы т.е. и в "Frame" и в "Frame1".
Ваш пример к сожалению почему-то не работает. При компиляции грузится пустая страница.
...
Рейтинг: 0 / 0
25 сообщений из 215, страница 4 из 9
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Добавление новых строк в таблицу
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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