powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Получения данных из DataGrid WPF MVVM
25 сообщений из 450, страница 2 из 18
Получения данных из DataGrid WPF MVVM
    #38460525
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КВ VS2010 бесят тормоза дизайнера.
Дизайнера, или редактора разметки? Я дизайнером фактически ни разу и не воспользовался - разве что сто лет назад для хлловорлда, но вот редактор разметки - да, бывает просто вешает студию. Немного помогает отключение решарпера, т.к. разметку он тоже мониторит, но задалбывает постоянно включать-выключать решарпер. Поэтому я часто пишу разметку в открытом рядом SharpDevelop - получается очень даже быстро.
...
Рейтинг: 0 / 0
Получения данных из DataGrid WPF MVVM
    #38460578
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныАлексей КВ VS2010 бесят тормоза дизайнера.
Дизайнера, или редактора разметки? Я дизайнером фактически ни разу и не воспользовался - разве что сто лет назад для хлловорлда, но вот редактор разметки - да, бывает просто вешает студию. В редакторе разметки используются элементы дизайнера, когда включается режим с возможностью работы со свойствами элемента, на котором стоит курсор, в "пропертигриде". При холодном переключении в этот режим начинаются самые тормоза. Открытие нового документа в режиме разметки решает эту проблему, там соответствующая настройка в VS имеется.
Сон Веры ПавловныНемного помогает отключение решарпера, т.к. разметку он тоже мониторит, но задалбывает постоянно включать-выключать решарпер.Решарпером не пользуюсь.
...
Рейтинг: 0 / 0
Получения данных из DataGrid WPF MVVM
    #38460588
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КОткрытие нового документа в режиме разметки решает эту проблему, там соответствующая настройка в VS имеется.
Я в курсе, эта настройка у меня всегда включена, т.е. документы всегда открываются только в режиме разметки. Однако иногда при переключении на таб с xaml'ем, при внесении изменений в разметку, и т.п. тормоза превращаются в глухое зависание - приходится убивать процесс студии. VS2010, наблюдается и на WinXP на работе, и на Win7 дома.
...
Рейтинг: 0 / 0
Получения данных из DataGrid WPF MVVM
    #38460600
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КТы говорил про МВЦ.
А в мвц запрещено использовать винформз?Таки веБформз? :-)

Но вроде как нынче модно пользоваться разором.

МСУАлексей КНе всегда. Поддержка дизайнера требует определённых жертв. Это было особенно актуально в WinForms. К счастью, этот ужас давно в прошлом. :-)
Не понимаю, о каких жертвах идет речь? :)Одна поддержка сериализации в код чего стоит. Но не будем об этом. :-)

Тут подумалось. А ведь в довпфную эру авторы Делфи могли сделать реально качественный продукт на базе .Net: IDE с нормальным визуальным дизайнером и нормальную библиотеку на замену WinForms, пока MS возилось со своим WPF, который стал юзабелен только с выходом .Net 4 в 2010-м году. Благо, опыт у них был. Потом заточили бы его под Mono. Что им помешало, непонятно. Вероятно, чей-то умысел, не иначе. В итоге, проср@ли они своё счастье, теперь мучаются . Аж жалко...

МСУАлексей КВпрочем, я отвык от дизайнера. Привык писать XAML вручную. Такой подход тоже имеет свои преимущества.
Согласен. Но первоначально выбрать компонент из палитры, положить его, отцентрировать, задать через F2 название той же кнопки - весьма приятно."Одинхер" (ц) DataTemplate/ControlTemplate дизайнером не поддерживаются. Если привыкнуть к дизайнеру, может возникнуть предвзятое к ним отношение. В результате, там где удобнее их использовать будет применён UserControl ради возможности использования дизайнера. Я бы не советовал. :-)

Алексей КВ VS2010 бесят тормоза дизайнера. В более поздних VS это обещали поправить. К сожалению, использовать их не могу, WinXP сцукко.
Уже больше года не трогал десятку... Сейчас 12 и 13 студия.[/quot]Даже немного завидую. :-)
...
Рейтинг: 0 / 0
Получения данных из DataGrid WPF MVVM
    #38460604
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУУже больше года не трогал десятку... Сейчас 12 и 13 студия.Даже немного завидую. :-)
...
Рейтинг: 0 / 0
Получения данных из DataGrid WPF MVVM
    #38460611
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КТаки веБформз? :-)
Но вроде как нынче модно пользоваться разором.
Таки даже вебфорс + мвц + разор + аспх. Слабо? :) http://codearticles.ru/articles/2323

Алексей КОдна поддержка сериализации в код чего стоит. Но не будем об этом. :-)
А мне то чего с этого? Не я ж пишу эти ужастики :)

Алексей КАж жалко...
Бросай все эти шалости, айда на мвц - WPF чисто для пукалок, когда веб не приемлем (0.01% случаев)

Алексей КЯ бы не советовал. :-)
Ну ок, шут бы с этим десигнером :)

Алексей КДаже немного завидую. :-)
Так накати, чё :)
...
Рейтинг: 0 / 0
Получения данных из DataGrid WPF MVVM
    #38460613
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КРешарпером не пользуюсь.
+1К очков в карму с лёту :)
...
Рейтинг: 0 / 0
Получения данных из DataGrid WPF MVVM
    #38460630
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КТаки веБформз? :-)
Но вроде как нынче модно пользоваться разором.
Таки даже вебфорс + мвц + разор + аспх. Слабо? :) http://codearticles.ru/articles/2323 Верю. :-)
МСУАлексей КОдна поддержка сериализации в код чего стоит. Но не будем об этом. :-)
А мне то чего с этого? Не я ж пишу эти ужастики :)А я писал. :-)
МСУАлексей КАж жалко...
Бросай все эти шалости, айда на мвц - WPF чисто для пукалок, когда веб не приемлем (0.01% случаев) Но это у кого как. :-) Впрочем, вероятно в следующем году буду с этим знакомиться более подробно. Потребность есть уже сейчас, но некогда.
МСУАлексей КДаже немного завидую. :-)
Так накати, чё :)В пятницу планирую. :-)
...
Рейтинг: 0 / 0
Получения данных из DataGrid WPF MVVM
    #38460650
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КА я писал. :-)
Истинные арийцы дельфисты ну прям не могут без садомазо, понимаю :)

Алексей КПотребность есть уже сейчас, но некогда
Правильно, пора всю эту похабщину на правильные рельсы ставить :)

Алексей КВ пятницу планирую. :-)
Ок )
...
Рейтинг: 0 / 0
Получения данных из DataGrid WPF MVVM
    #38460657
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КА я писал. :-)
Истинные арийцы дельфисты ну прям не могут без садомазо, понимаю :)Ой, кто бы говорил. Типа сам на Делфи не писал ни разу.
...
Рейтинг: 0 / 0
Получения данных из DataGrid WPF MVVM
    #38460658
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторБросай все эти шалости, айда на мвц - WPF чисто для пукалок, когда веб не приемлем (0.01% случаев)
не, после WPF уже обратно не хочется. яваскрипты там всякие и никаких биндингов)
автор+1К очков в карму с лёту :)
не, -1к очков )
...
Рейтинг: 0 / 0
Получения данных из DataGrid WPF MVVM
    #38460681
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanпосле WPF уже обратно не хочется. яваскрипты там всякие и никаких биндингов)
Просто нужно научиться этого готовить :)

Алексей КОй, кто бы говорил
Как вспомню

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
begin, end, reperal until keypressed...

var A, B : Integer;
   begin
     A:=3;
     B:=4;
     A:=A*A+B*B;
   end;



...
...
Рейтинг: 0 / 0
Получения данных из DataGrid WPF MVVM
    #38460716
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУnetivanпосле WPF уже обратно не хочется. яваскрипты там всякие и никаких биндингов)
Просто нужно научиться этого готовить :)Ну да, "JavaScript + преобразование HTML DOM" vs ControlTemplate это сильно. Срача на эту тему ещё не было...

МСУ
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
begin, end, reperal until keypressed...

var A, B : Integer;
   begin
     A:=3;
     B:=4;
     A:=A*A+B*B;
   end;



... Аж мурашки по коже...
...
Рейтинг: 0 / 0
Получения данных из DataGrid WPF MVVM
    #38460750
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фтопку WPF! Silverlight наше всиооо!
...
Рейтинг: 0 / 0
Получения данных из DataGrid WPF MVVM
    #38460771
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Началось...
...
Рейтинг: 0 / 0
Получения данных из DataGrid WPF MVVM
    #38460816
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНачалось...Нет, ещё не все собрались.
...
Рейтинг: 0 / 0
Получения данных из DataGrid WPF MVVM
    #38460840
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К, ты лучше подскажи, правильно ли так делать по феншую для поднятия окон? :)

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
public class WindowService : IWindowService
{
    public Window ActiveWindow { get { return Application.Current.Windows.OfType<Window>().SingleOrDefault(x => x.IsActive); } }

    public bool OpenEmployeeDetailWindow(Employee employee)
    {
        var view = new EmployeeDetailWindow();
        view.Owner = ActiveWindow;
        view.DataContext = new EmployeeViewModel { EmployeeId = employee.EmployeeId, FirstName = employee.FirstName, LastName = employee.LastName };
        return view.ShowDialog().GetValueOrDefault();
    }


    public void CloseActiveWindow(bool dialogResult)
    {
        var window = ActiveWindow;
        window.DialogResult = dialogResult;
        window.Close();
    }
}



А потом из вьюмодели честно курить IWindowService.Func.

Проблема в том, что мне в IWindowService нужно как-то красиво протащить активное окно из вьюмодели. Но вьюмодель ничего не должна знать о каких-то там окнах. Поэтому я в IWindowService поднимаю все окна Application.Current.Windows и ищу активное.

Зло? :)
...
Рейтинг: 0 / 0
Получения данных из DataGrid WPF MVVM
    #38460873
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

почему бы твоей VM не знать о своем Ownere? А он может быть типом Window и тогда проблем не будет что закрывать. Или не понял мысль?
...
Рейтинг: 0 / 0
Получения данных из DataGrid WPF MVVM
    #38460874
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНу да, "JavaScript + преобразование HTML DOM" vs ControlTemplate это сильно. Срача на эту тему ещё не было... да не может быть. Постоянно коллегам - любителям писать все на JS доказываю это)
...
Рейтинг: 0 / 0
Получения данных из DataGrid WPF MVVM
    #38460926
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanМСУ,

почему бы твоей VM не знать о своем Ownere? А он может быть типом Window и тогда проблем не будет что закрывать. Или не понял мысль?+1

Если требуется сделать ссылку от ViewModel => View, надо делать такую ссылку. И не забываем про статический метод Window.GetWindow, который ищет родительское окно контрола.

зы: Есть ещё черезжопные способы не иметь ссылки VM => V и при этом управлять окном, но не хочу о них...
...
Рейтинг: 0 / 0
Получения данных из DataGrid WPF MVVM
    #38460932
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНо вьюмодель ничего не должна знать о каких-то там окнах. Поэтому я в IWindowService поднимаю все окна Application.Current.Windows и ищу активное.

Зло? :)Нет. Это один из вариантов реализации, который предпочтительнее в каких-то случаях. Но не всегда.
...
Рейтинг: 0 / 0
Получения данных из DataGrid WPF MVVM
    #38460990
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы чего, люди? Вью модель ничего не должна знать о окне! Это железобетонно.
...
Рейтинг: 0 / 0
Получения данных из DataGrid WPF MVVM
    #38461301
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУВы чего, люди? Вью модель ничего не должна знать о окне! Это железобетонно.Ну тогда мучайся, тебя предупредили. Как тебе решение ? Оно тебе надо? :-)

А главное, не надо подписываться из View на события ViewModel, есть опасность утечки памяти, если время жизни ViewModel больше чем View. Например, если View является ControlTemplate/DataTemplate. Лучше смотри решение через жопу присоединяемое свойство.

А по сути, это модель ничего не знает о View в силу своих особенностей. Например, потому что модель живёт на сервере, а на клиенте WCF Proxy. Конечно, он ничего не должен знать про окно.

А ViewModel - это логика представления. Если ViewModel будет иметь ссылку на View, то единственный негативный эффект - к одному объекту ViewModel можно привязать только один объект View. Тем более, в твоём случае тебе View нужен в виде базового класса DependencyObject, чтобы передать его в Window.GetWindow для получения ссылки на окно. Тут особого знания ViewModel о View и не требуется. А теперь ответь себе на вопрос - тебе нужно несколько View к одной ViewModel? :-)
...
Рейтинг: 0 / 0
Получения данных из DataGrid WPF MVVM
    #38461306
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУВы чего, люди? Вью модель ничего не должна знать о окне! Это железобетонно.
Ну, раз уж пошла такая пьянка (про pure MVVM), то ViewModel ничего не должна знать о Window как о классе, т.е. сборка с ViewModel не должна зависеть от WindowsBase, PresentationCore, etc. А открытие окна из модели нужно делать в сервисе путем дергания инжекта. Иначе ночью придет джошсмит, и расстреляет из реактивного говномета.
...
Рейтинг: 0 / 0
Получения данных из DataGrid WPF MVVM
    #38461309
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей ККак тебе решение ?
Вот еще вариант
Код: c#
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.
using System.Windows;
using System.Windows.Controls;
 
namespace WX.Classes.Attached
{
  public static class DialogResultHelper
  {
    public static readonly DependencyProperty ResultProperty =
      DependencyProperty.RegisterAttached(
        "Result", typeof(bool?), typeof(DialogResultHelper),
        new PropertyMetadata(false, OnResultPropertyChanged));
 
    public static bool? GetResult(DependencyObject o)
    {
      return (bool?)o.GetValue(ResultProperty);
    }
 
    public static void SetResult(DependencyObject o, bool? value)
    {
      o.SetValue(ResultProperty, value);
    }
 
    static void OnResultPropertyChanged(DependencyObject o,
        DependencyPropertyChangedEventArgs ea)
    {
      var btn = o as Button;
      if (btn == null) return;
      btn.Click -= HandleResult;
      if (ea.NewValue == null) return;
      btn.Click += HandleResult;
    }
 
    static void HandleResult(object sender, RoutedEventArgs ea)
    {
      var btn = sender as Button;
      if (btn == null || GetResult(btn) == null) return;
      var window = Window.GetWindow(btn);
      if (window == null) return;
      window.DialogResult = GetResult(btn);
      window.Close();
    }
  }
}


Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<Window
  x:Class="wpftest2.Window1"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:Attached="clr-namespace:WX.Classes.Attached;assembly=WX.Classes"
  TextOptions.TextFormattingMode="Display"
  UseLayoutRounding="True">
 
  <Grid>
    <Button
      VerticalAlignment="Center"
      HorizontalAlignment="Center"
      Padding="10"
      Content="OkCancel"
      IsDefault="True"
      Attached:DialogResultHelper.Result="True"/>
  </Grid>
</Window>

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


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