Начало работы в WPF

Чтобы сделать это, вы можете переключаться между вызовами методов attr() и removeAttr() в зависимости от того, имеет ли элемент атрибут при нажатии:

$(".accordion-expander").click(function(e) {
  e.preventDefault();
  var method = $(this).is('[data-equalizer-watch]') ? 'removeAttr' : 'attr';
  $(this)[method]('data-equalizer-watch', '');
});
[ 111]
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a class="accordion-expander" href="#" data-equalizer-watch>
  foo
</a>

Однако не гарантируется, что эта логика будет работать так, как вам нужно. Это будет зависеть от того, как зависимая логика обращается к атрибуту.

Гораздо лучшим решением было бы всегда включать атрибут data в элемент, но иметь его значение в виде логического флага, который вы переключаете, например:

$(".accordion-expander").click(function(e) {
  e.preventDefault();
  var $el = $(this);
  $el.data('equalizer-watch', !$el.data('equalizer-watch'));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a class="accordion-expander" href="#" data-equalizer-watch="true">
  foo
</a>

7
задан Dave Clemmer 29 July 2011 в 17:39
поделиться

3 ответа

3
ответ дан 7 December 2019 в 12:24
поделиться

Открытое приложение с относительно простым пользовательским интерфейсом, хорошо разработанное, - crack.net. Я использовал его, чтобы, наконец, понять mvvm.

Что касается рабочего процесса проектирования, вам будет сложнее ответить на этот вопрос. Вы должны выяснить, что будет работать для вас и ваших дизайнеров. Они могут работать в том же файле .proj, что и ваши разработчики, и это очень удобно. Но вы можете разделить эти сборки для управления.

1
ответ дан 7 December 2019 в 12:24
поделиться

Что касается рабочего процесса.
Я работал в команде, где у нас был преданный дизайнер пользовательского интерфейса. Хотя у него была степень по CS, он сказал, что использование Blend слишком сильно отвлекает от дизайна пользовательского интерфейса. Поэтому он все еще делал макеты, а разработчик переводил это в Blend + VS + ручные настройки XAML.
Кроме того, несмотря на то, что заявлено, Blend наиболее полезен в качестве редактора примеров-фрагментов для лучшего понимания XAML.
В моем текущем проекте WPF я в основном использую Kaxaml, так как редактор WPF в моей установке VS мучительно медленен и нестабилен.
Идея в том, что ваш дизайнер создаст вам XAML, а разработчик просто добавит к этому код - у нас это не сработало. И, честно говоря, я не понимаю, как это может работать вообще. Поскольку в пользовательском интерфейсе еще есть много вещей, которые необходимо настроить для уровня представления.
Кроме того, любая технология пользовательского интерфейса может быть изолирована в хорошо спроектированной системе. И я не вижу в этом никаких преимуществ WPF. Тем более что MS так активно продвигает привязку данных.

1
ответ дан 7 December 2019 в 12:24
поделиться
Другие вопросы по тегам:

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