Какие.Net/WPF функции Вы пропускаете при работе в Silverlight? [закрытый]

  • В соответствии с предоставленным кодом проблема возникает на $ vendel [$ miniarray ['id']] ['qty'] + = $ miniarray ['qty'];
  • Это проблема возникает, поскольку вы не определили значение $ vendel [$ miniarray ['id']] ['qty'].
  • Чтобы преодолеть эту проблему, вам необходимо определить начальное значение в $ vendel [$ miniarray ['id']] ['qty'].
  • Вам нужно определить начальное значение qty как ноль, как указано ниже, перед инструкцией foreach, которую вы написали.
  • foreach ($ vd_arr как $ miniarray) {$ vendel [$ miniarray ['id']] ['qty'] = 0;}
29
задан Rich 11 March 2009 в 04:51
поделиться

11 ответов

Где я начинаю?:)

  • Никакой MultiBinding
  • Никакой ElementName = привязка
  • TemplateBinding может только относиться к прямым свойствам, не присоединенный DP
  • Никакой RelativeSource, связывающий
  • Никакой привязка к дочерним свойствам - например, {Binding Path=Foo.Bar[0].Baz}
  • Никакая способность подписаться на [1 124] измененные события на любом произвольном свойстве зависимости - автор класса должен явно определить событие (и в большинстве случаев, только одно или два свойства в средствах управления SL на самом деле делают)
  • , Визуальный менеджер состояния требует, чтобы автор управления знал все способные стилем состояния, когда управление записано, который полностью повреждает "расширение через стили/шаблоны, не наследование" история, что WPF продвигает
  • Никакой Adorners
  • Никакая Навигация
  • Никакое наследование свойства зависимости
  • поддержка No/sucky внешних словарей ResourceDictionaries/merged
  • , история Проверки сосет (это только незначительно лучше в WPF)
  • , Печать
  • <Setter .. Value="{Binding ...}" /> не поддерживается

К тому же много сигнатур методов, измененных ни на каком серьезном основании. Например, IIRC, перегрузки для Диспетчера. Вызовите отличаются, вместо SL, просто игнорирующего параметры, которые он еще не может обработать. Или как другой пример, ObservableCollection в WPF может повысить, Добавляют, Удаляют, события Replace и Move - в SL, это - только первые три.

, Так как я пишу код для работы над обеими платформами, код заканчивает тем, что был замусорен в стратегических моделях и #ifdefs. Чувствует себя подобно C++ снова и снова:-)

35
ответ дан Paul Stovell 14 October 2019 в 08:27
поделиться

Как разработчик, отсутствие триггеров События/Свойства так лишение сил.

я не парень C#/oop поэтому, когда я должен инициировать цепочку раскадровок, когда объект загружается, или кнопка нажата или после другой раскадровки концы, я должен призвать devs: (

2
ответ дан felixthehat 14 October 2019 в 08:27
поделиться

Никакая поддержка сокета или UDP является, вероятно, самой большой болью для меня сопровождаемый пропавшими без вести crypto классы.

, Кроме того, пропавшие без вести классифицировали как StringDictionary и ApplicationException, к которому Вы привыкаете, и затем находка не вокруг, боль. Обычно возможно найти замену или обходное решение, но лично я быть бы загрузка Silverlight идти от 5 МБ до 6 МБ, таким образом, мы не имели к;-).

Один действительно удобный прием я видел на блоге, который позволил мне снова использовать свои нормальные блоки .NET, состояли в том, чтобы добавить существующие объекты как ссылка. Во многих случаях теперь у меня есть два файла проекта с помощью тех же файлов класса с одним предназначением.Net 3.5 и другой время выполнения Silverlight. Я чрезвычайно благодарен, что нашел, что прием, поскольку я уже начинал спускаться по пути создания различных кодовых баз для.Net 3.5 и Silverlight!

2
ответ дан sipwiz 14 October 2019 в 08:27
поделиться

В дополнение к Paul Stovell превосходный список:

  • Никакие пользовательские расширения разметки.
  • Никакой x:Type расширение разметки.
  • Никакой LayoutTransform (хотя существует обходные решения ).
  • Никакие метаданные удобства для DependencyProperties (должны вручную определить аннулирование меры/расположения/рендеринга, изменения свойства, и т.д.).
  • Никакой легкий вес Drawing или DrawingContext классы (должны использовать Shape элементы).
  • Никакие команды.
3
ответ дан Community 14 October 2019 в 08:27
поделиться

Самая большая жалоба, которую я имею, является отсутствием полной поддержки всей доступной привязки WCF. Только способность использовать BasicHttpBinding очень часто означает, что решением Silverlight проблемы не является допустимый выбор.

0
ответ дан Nick Josevski 14 October 2019 в 08:27
поделиться

Неизменные стили Silverlight и отсутствие слияния словаря являются также большим - если Вы пишете средства управления, эти два дают Вам много стычки - не говоря уже о неуправляемо больших generic.xaml файлах.

0
ответ дан Gordon Mackie JoanMiro 14 October 2019 в 08:27
поделиться

Никакая 3D поддержка.

0
ответ дан Scott Evernden 14 October 2019 в 08:27
поделиться

Вот некоторые вещи, с которыми я встретился, когда я преобразовал приложение WPF в Silverlight:

  1. Класс Enum отличается... Не может сделать этого в Silverlight (может в WPF) для привязки с Перечислением:

    HoleType1. ItemsSource = Перечисление. GetValues (typeof (Дыра. HoleTypes));

  2. цвета кисти работают по-другому...

WPF:

  protected Brush _CurrentHoleColor = Brushes.Red;

Silverlight:

  protected Brush _CurrentHoleColor = new SolidColorBrush(Colors.Red);

3. Еще не разработали этого, но что-то является особенным в этом коде WPF, который я раньше проверял, где мышью щелкнули:

System.Windows.Media.VisualTreeHelper.HitTest(canvas1, p);

4. Я думаю, что что-то немного отличается о перегрузках, используемых для создания новых потоков с [1 114]

this.Dispatcher.BeginInvoke(....)
2
ответ дан MattSlay 14 October 2019 в 08:27
поделиться

По-видимому, комментарий комментария felixthehat потребовал определенной репутации.

, Но я хотел бы к второму его призыв к триггерам События/Свойства... Триггерная платформа в WPF позволяет мне делать действительно мощные вещи как разработчику взаимодействия, не имея необходимость погружаться в код. Я пропускаю его.

2
ответ дан 14 October 2019 в 08:27
поделиться

3D-перспектива - это здорово, но я не могу дождаться настоящего 3D!

0
ответ дан 28 November 2019 в 01:42
поделиться
  • ScrollViewer не имеет события изменения (необходимо использовать хак привязки)
  • Контекстное меню, зависящее от браузера, не поддерживается до версии 4
  • Ограниченная поддержка DocumentFlow
  • Нет поддержки MD5 (но вместо этого используются более современные алгоритмы хеширования)
  • WebClient не позволяет выполнять запросы с аутентификацией HTTP.

Моя самая большая досада:

  • Крысиное гнездо пространств имен
0
ответ дан 28 November 2019 в 01:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: