powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Топик ненависти к WPF
25 сообщений из 336, страница 4 из 14
Топик ненависти к WPF
    #36590088
Фотография Мусичка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще раз. То, что Вы написали - это ViewModel. ViewModel рисуется не для комбобоксов, а для всего представления. То есть, выведение проперти Categories для байдинга SelectedValue - это всего-лишь маленькая крупица того, что нужно написать для представления :)
P.S. Вообще сам по себе MVVM предполагает наличие "многабукаф" в проекте. Ибо.
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36590283
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МусичкаАлексей КТак? И это писать для всех 327 комбобоксов?
У Вас на окне 327 комбобоксов?Ну окон-то много.

МусичкаЕще раз. То, что Вы написали - это ViewModel. ViewModel рисуется не для комбобоксов, а для всего представления. То есть, выведение проперти Categories для байдинга SelectedValue - это всего-лишь маленькая крупица того, что нужно написать для представления :)Да.

МусичкаP.S. Вообще сам по себе MVVM предполагает наличие "многабукаф" в проекте. Ибо.Это не так. Наверное.
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36590407
Фотография Мусичка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КУ Вас на окне 327 комбобоксов?Ну окон-то много.[/quot]
Вопрос из разряда нужности подсчета кол-во строк кода в проекте? Вы ж, вроде, уже взрослый дядька, а всё туда же )

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

Алексей КДа.
Тогда нихрена не понимаю. Сначала Вы мне задвигаете про то, что нах писать маленькую "вьюмодельку" для комбобокса, теперь Вы соглашаетесь, что "вьюмоделька" пишется не для комбобокса, а для всего представления. То ли Вы запутались, что-ли я далбаёп
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36591451
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МусичкаТогда нихрена не понимаю. Сначала Вы мне задвигаете про то, что нах писать маленькую "вьюмодельку" для комбобокса, теперь Вы соглашаетесь, что "вьюмоделька" пишется не для комбобокса, а для всего представленияВ примере показана часть вьюмодели, с которой связан один комбобокс.

МусичкаЕщё раз... Небольшое шаманство с комбобоксом избавляет от маразма в прикладном коде. Я об этом.
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36591504
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В продолжение темы ненависти...

Свежеустановленная VS2010 Professional + .Net4

Код: 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.
Skin.xaml:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="/PresentationFramework.Aero;V4.0.0.0;31bf3856ad364e35;component/themes/aero.normalcolor.xaml"/>
    </ResourceDictionary.MergedDictionaries>
</ResourceDictionary>

App.xaml:

<Application x:Class="SkinTest.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             StartupUri="MainWindow.xaml">
    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                
                <!-- Почему вот так работает?
                <ResourceDictionary Source="/PresentationFramework.Aero;V4.0.0.0;31bf3856ad364e35;component/themes/aero.normalcolor.xaml"/>-->
                
                <!-- А вот так не работает? -->
                <ResourceDictionary Source="Skin.xaml"/>
                
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>
</Application>

В .Net 3.5 это работало!
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36621183
Фотография Мусичка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задаюсь таким вопросом по поводу сильвера и безопасности:

Имеем: клиентский *.xap, представляющий из себя тупо *.zip с необходимыми ресурсами, который скармливается браузеру.

Вопрос: возможно ли этот xap как-то перехватить, отдизассемблить сборки? Кто в теме?
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36621360
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мусичка,

что значит "перехватить"? можно просто-напросто скачать (путь указан в параметрах хтмльного объекта хостинга, <param name="source" value="ClientBin/myslapp.xap"/>) - указывай в адресной строке браузера и закачивай как обычный .zip
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36621396
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LR
Где здесь информация о xap?
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36621729
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУГде здесь информация о xap?
там нет .xap, там есть .xaml ("interface.xaml"), иформацию смотри в файле CreateSilverlight.js и Silverlight.js (которые, кстати, поставлялись еще с sl sdk 1.0)
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36621883
Silverlight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LRМусичка,

что значит "перехватить"? можно просто-напросто скачать (путь указан в параметрах хтмльного объекта хостинга, <param name="source" value="ClientBin/myslapp.xap"/>) - указывай в адресной строке браузера и закачивай как обычный .zip
Легко. Для Reflector'a есть плагины, кроме того, все замечательно видно Silverlight Spy.
Единственный, но не 100% вариант - самому подгружать зашифрованные сборки и obfuscator, если это так критично. Прежде всего нужно защищать соединение и сервер.
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36622078
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LRМСУГде здесь информация о xap?
там нет .xap, там есть .xaml ("interface.xaml"), иформацию смотри в файле CreateSilverlight.js и Silverlight.js (которые, кстати, поставлялись еще с sl sdk 1.0)
Согласен. Но не факт, что нету xap'а - чем смотрели?
Проверял через Reflector.SilverlightLoader.dll (04.03.2008), он вообще не умеет с xap'ом работать.
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36622109
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУLRМСУГде здесь информация о xap?
там нет .xap, там есть .xaml ("interface.xaml"), иформацию смотри в файле CreateSilverlight.js и Silverlight.js (которые, кстати, поставлялись еще с sl sdk 1.0)
Согласен. Но не факт, что нету xap'а - чем смотрели?
Проверял через Reflector.SilverlightLoader.dll (04.03.2008), он вообще не умеет с xap'ом работать.
смотрел блокнотом)) там используется JavaScript API, SL1
msdnThe JavaScript API is the model that was available in Silverlight version 1.0, and is retained for backward compatibility and to enable particular scenarios.

In the JavaScript API, the Silverlight plug-in loads a single XAML page instead of an application package. This XAML can include URI references to server-side resources, such as images and videos. The Silverlight plug-in uses the XAML to create an object tree that you can programmatically manipulate using JavaScript in the host HTML page.

The JavaScript API does not provide an application model that is capable of supporting complex applications with internal navigation. However, it does enable scenarios for which the managed API is too cumbersome, such as splash screens. You can also implement basic navigation by loading new XAML pages into the Silverlight plug-in or by loading new Web pages into the browser.
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36658278
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Visual Studio 2010 + FW4. Включена родная тема Aero. Мутим Popup у которого StaysOpen=False. На нём размещаем DataGrid. В гриде тыкаем сортировку по колонке, и пока фокус находится в заголовке колонки грида - Popup отказывается закрываться при тычке мышью вне него.

Вспомнилось:

- Листья падают с ясени, никуясебе,
- Посмотрел в окно, и действительно - акуительно!

ЗЫ: Не баньте меня пожалуйста за ненормативную лексику. Я больше не буду. :-)
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36660370
eJack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МусичкаЕще раз. То, что Вы написали - это ViewModel. ViewModel рисуется не для комбобоксов, а для всего представления. То есть, выведение проперти Categories для байдинга SelectedValue - это всего-лишь маленькая крупица того, что нужно написать для представления :)
P.S. Вообще сам по себе MVVM предполагает наличие "многабукаф" в проекте. Ибо.

Насколько я понимаю, сами по себе Шаблоны проектирования (паттерны) это всего лишь рекомендации и не предпологают тупое их копирование, если для упрощения необходимо дописать "костыль" или еще что то - то милости просим!
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36661131
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offАлексей КЗЫ: Не баньте меня пожалуйста за ненормативную лексику.
Эко Вас заносит на поворотах, Лёша )
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36662190
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЭко Вас заносит на поворотах, Лёша )Ну а какие ещё эмоции должна вызывать описанная ситуация? :-))
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36665635
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНу а какие ещё эмоции должна вызывать описанная ситуация? :-))
рождённый ползать - летать не будет.
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36665818
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилрождённый ползать - летать не будет.Полетит. Он просто не может не полететь. WinForms запустили, и "это" запустим.
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36665886
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что и куда собираемся запускать с нереализованной Memory Leak?
P.S. Ракеты взлетают, но иногда падают. Утечка памяти - это беспощадное зло.
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36666621
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЧто и куда собираемся запускать с нереализованной Memory Leak?
P.S. Ракеты взлетают, но иногда падают. Утечка памяти - это беспощадное зло.Неужели "это" так сложно вставить в своей реализации ICommand, если таковая понадобится?

Код
Код: 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.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
    public class WeakList<T>
        where T : class
    {
        List<WeakReference> _weakList = new List<WeakReference>();

        public void Add(T value)
        {
            _weakList.Add(new WeakReference(value));
        }

        public void Remove(T value)
        {
            for (int i = _weakList.Count - 1; i >= 0; i--)
            {
                var item = (T)_weakList[i].Target;
                if (item == null || EqualityComparer<T>.Default.Equals(item, value))
                    _weakList.RemoveAt(i);
            }
        }

        public T[] Items
        {
            get
            {
                var result = new List<T>(_weakList.Count);
                for (int i = _weakList.Count - 1; i >= 0; i--)
                {
                    var item = (T)_weakList[i].Target;
                    if (item != null)
                        result.Add(item);
                    else
                        _weakList.RemoveAt(i);
                }
                result.Reverse();
                return result.ToArray();
            }
        }
    }

    public class WeakEventHandler : WeakList<EventHandler>
    {
        public void Invoke(object sender, EventArgs e)
        {
            foreach (var handler in Items)
                handler(sender, e);
        }
    }

    public class WeakAction : WeakList<Action>
    {
        public void Invoke()
        {
            foreach (var handler in Items)
                handler();
        }
    }
Не нужно офтопить в топике ненависти надуманными проблемами! :-))
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36666734
гнидыч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
заработала галерея севы
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36666842
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУЧто и куда собираемся запускать с нереализованной Memory Leak?
P.S. Ракеты взлетают, но иногда падают. Утечка памяти - это беспощадное зло.Неужели "это" так сложно вставить в своей реализации ICommand, если таковая понадобится?

+
Код
Код: 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.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
    public class WeakList<T>
        where T : class
    {
        List<WeakReference> _weakList = new List<WeakReference>();

        public void Add(T value)
        {
            _weakList.Add(new WeakReference(value));
        }

        public void Remove(T value)
        {
            for (int i = _weakList.Count - 1; i >= 0; i--)
            {
                var item = (T)_weakList[i].Target;
                if (item == null || EqualityComparer<T>.Default.Equals(item, value))
                    _weakList.RemoveAt(i);
            }
        }

        public T[] Items
        {
            get
            {
                var result = new List<T>(_weakList.Count);
                for (int i = _weakList.Count - 1; i >= 0; i--)
                {
                    var item = (T)_weakList[i].Target;
                    if (item != null)
                        result.Add(item);
                    else
                        _weakList.RemoveAt(i);
                }
                result.Reverse();
                return result.ToArray();
            }
        }
    }

    public class WeakEventHandler : WeakList<EventHandler>
    {
        public void Invoke(object sender, EventArgs e)
        {
            foreach (var handler in Items)
                handler(sender, e);
        }
    }

    public class WeakAction : WeakList<Action>
    {
        public void Invoke()
        {
            foreach (var handler in Items)
                handler();
        }
    }
Не нужно офтопить в топике ненависти надуманными проблемами! :-))

А где WeakEventManager, где StartListening и StopListening? Где ловля евентов? Где EventManager.RegisterClassHandler? Куда подевалсо наш IWeakEventListener и реализация ReceiveWeakEvent (бутон или что-там у нас)?

P.S. Лёша, что за говнокодец Вы мне дали? :)
P.S2. Я жду полноценных WeakEventManager + IWeakEventListener, а не гуано на лопате :)
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36667521
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУА где WeakEventManager, где StartListening и StopListening? Где ловля евентов? Где EventManager.RegisterClassHandler? Куда подевалсо наш IWeakEventListener и реализация ReceiveWeakEvent (бутон или что-там у нас)?А накойхер (с) мне это надо? Мне достаточно этого:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
WeakAction _myEvent = new WeakAction();
public event Action MyEvent
{
    add { _myEvent.Add(value); }
    remove { _myEvent.Remove(value): }
}

protected virtual void OnMyEvent()
{
    _myEvent.Invoke();
}

Это решает описанную проблему.

МСУP.S. Лёша, что за говнокодец Вы мне дали? :)Но но!!! Это часть новейшего WPF/SL фреймворка приложений будущего!!! :-)

МСУP.S2. Я жду полноценных WeakEventManager + IWeakEventListener, а не гуано на лопате :)Тут могу только посоветовать сходить к гуглу.
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36667693
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чего-то я затупил. Как-то так надо делать. Завтра проверю.
...
Рейтинг: 0 / 0
25 сообщений из 336, страница 4 из 14
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Топик ненависти к WPF
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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