Разве основанное на сетке расположение WPF не является тем же как основанным на таблице расположением, это является запретным в HTML?

Рассмотрите использование getopt_long() . Это позволяет и короткие и долгие опции в любой комбинации.

#include 
#include 
#include 

/* Flag set by `--verbose'. */
static int verbose_flag;

int
main (int argc, char *argv[])
{
  while (1)
    {
      static struct option long_options[] =
    {
      /* This option set a flag. */
      {"verbose", no_argument,       &verbose_flag, 1},
      /* These options don't set a flag.
         We distinguish them by their indices. */
      {"blip",    no_argument,       0, 'b'},
      {"slip",    no_argument,       0, 's'},
      {0,         0,                 0,  0}
    };
      /* getopt_long stores the option index here. */
      int option_index = 0;

      int c = getopt_long (argc, argv, "bs",
               long_options, &option_index);

      /* Detect the end of the options. */
      if (c == -1)
    break;

      switch (c)
    {
    case 0:
      /* If this option set a flag, do nothing else now. */
      if (long_options[option_index].flag != 0)
        break;
      printf ("option %s", long_options[option_index].name);
      if (optarg)
        printf (" with arg %s", optarg);
      printf ("\n");
      break;
    case 'b':
      puts ("option -b\n");
      break;
    case 's':
      puts ("option -s\n");
      break;
    case '?':
      /* getopt_long already printed an error message. */
      break;

    default:
      abort ();
    }
    }

  if (verbose_flag)
    puts ("verbose flag is set");

  /* Print any remaining command line arguments (not options). */
  if (optind < argc)
    {
      printf ("non-option ARGV-elements: ");
      while (optind < argc)
    printf ("%s ", argv[optind++]);
      putchar ('\n');
    }

  return 0;
}

Связанный:

6
задан Community 23 May 2017 в 11:55
поделиться

1 ответ

Дело в том, что Grid в WPF определяется как механизм компоновки, тогда как таблица в HTML предназначена для разметки табличных данных, где вы обычно используете DataGrid или подобное в WPF.

Проблема с HTML в этом отношении не столько в том, что вы используете таблицы для разметки. Фактически, модуль CSS3 Template Layout Module не так уж сильно отличается. Проблема в том, что содержимое в таблицах не имеет семантической структуры и поэтому недоступно для программ чтения с экрана, поисковых систем и т.п. Они ожидают , что таблица будет содержать табличные данные, поскольку любой механизм визуального макета не может иметь никакого смысла для чего-то, у кого нет зрения (например, программ чтения с экрана, веб-сканеров или слепых).

В WPF есть есть различные способы решить эту проблему. Прежде всего, WPF предназначен для разработки графического пользовательского интерфейса и поэтому имеет очень визуальную основу. Это автоматически подразумевает определенную непригодность для слепых. Кроме того, поисковые роботы на самом деле не вызывают беспокойства (какое-то время игнорируют XBAP; пока не видел их в дикой природе). Помимо этого, WPF работает с существующими технологиями специальных возможностей в Windows, чтобы программы чтения с экрана могли понимать пользовательский интерфейс так же, как и в традиционных приложениях Windows. Таким образом, у вас здесь больше метаинформации о доступности, чем в HTML. Кроме того, единственное, что доступно снаружи, - это полностью отрисованная сетка. Не разметка под ним, а скорее набор элементов управления, которые находятся где-то на экране. И к ним применяются те же правила, что и к любому другому окну.

Еще один аргумент против таблиц для макета в HTML заключается в том, что вы смешиваете контент и представление, что затрудняет изменение только одного из них, а также затрудняет доступ к одному контенту (сродни вышеуказанной проблеме для программ чтения с экрана и Интернета краулеры). В WPF и то, и другое уже разделено (через привязку данных), и вы можете разделить их еще больше, если хотите, создавая настраиваемые элементы управления для инкапсуляции частей макета, вытягивая строки и изображения в ресурсы и т. Д.

Подводя итог, HTML не имел правильный механизм для создания сложных и привлекательных макетов и таблиц был решением этой проблемы (со всеми присущими ей слабостями и проблемами). WPF, с другой стороны, был построен с нуля с использованием техник и способов устранения именно этих недостатков, и по большей части они являются лучшими практиками.

затрудняет изменение только одного из них, а также затрудняет доступ к одному контенту (сродни описанной выше проблеме для программ чтения с экрана и поисковых роботов). В WPF оба уже разделены (через привязку данных), и вы можете разделить их еще больше, если хотите, создавая настраиваемые элементы управления для инкапсуляции частей макета, вытягивая строки и изображения в ресурсы и т. Д.

Подводя итог, HTML не имел правильный механизм для создания сложных и привлекательных макетов и таблиц был решением этой проблемы (со всеми присущими ей слабостями и проблемами). WPF, с другой стороны, был построен с нуля с использованием техник и способов устранения именно этих недостатков, и по большей части они являются лучшими практиками.

затрудняет изменение только одного из них, а также затрудняет доступ к одному содержимому (сродни описанной выше проблеме для программ чтения с экрана и поисковых роботов). В WPF и то, и другое уже разделено (через привязку данных), и вы можете разделить их еще больше, если хотите, создавая настраиваемые элементы управления для инкапсуляции частей макета, вытягивая строки и изображения в ресурсы и т. Д.

Подводя итог, HTML не имел правильный механизм для создания сложных и привлекательных макетов и таблиц был решением этой проблемы (со всеми присущими ей слабостями и проблемами). WPF, с другой стороны, был построен с нуля с использованием техник и способов устранения именно этих недостатков, и по большей части они являются лучшими практиками.

В WPF оба уже разделены (через привязку данных), и вы можете разделить их еще больше, если хотите, создавая настраиваемые элементы управления для инкапсуляции частей макета, вытягивая строки и изображения в ресурсы и т. Д.

Подводя итог, HTML не имел правильный механизм для создания сложных и привлекательных макетов и таблиц был решением этой проблемы (со всеми присущими ей слабостями и проблемами). WPF, с другой стороны, был построен с нуля с использованием техник и способов устранения именно этих недостатков, и по большей части они являются лучшими практиками.

В WPF и то, и другое уже разделено (через привязку данных), и вы можете разделить их еще больше, если хотите, создавая настраиваемые элементы управления для инкапсуляции частей макета, вытягивая строки и изображения в ресурсы и т. Д.

Подводя итог, HTML не имел правильный механизм для создания сложных и привлекательных макетов и таблиц был решением этой проблемы (со всеми присущими ей слабостями и проблемами). WPF, с другой стороны, был построен с нуля с использованием техник и способов устранения именно этих недостатков, и по большей части они являются лучшими практиками.

В HTML не было надлежащего механизма для создания сложных и привлекательных макетов, и таблицы были решением этой проблемы (со всеми присущими ему слабостями и проблемами). WPF, с другой стороны, был построен с нуля с использованием техник и способов устранения именно этих недостатков, и по большей части они являются лучшими практиками.

В HTML не было надлежащего механизма для создания сложных и привлекательных макетов, и таблицы были решением этой проблемы (со всеми присущими ему слабостями и проблемами). WPF, с другой стороны, был построен с нуля с использованием техник и способов устранения именно этих недостатков, и по большей части они являются лучшими практиками.

10
ответ дан 10 December 2019 в 00:41
поделиться
Другие вопросы по тегам:

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