Привязка объектов ObservableCollection к UserControl в WrapPanel?

Вы обычно хотите проигнорировать SIGPIPE и обработать ошибку непосредственно в Вашем коде. Это вызвано тем, что обработчики сигналов в C имеют много ограничений на то, что они могут сделать.

самый портативный способ сделать это должно установить SIGPIPE обработчик к SIG_IGN. Это будет препятствовать любому сокету или передавать запись по каналу вызвать SIGPIPE сигнал.

Для игнорирования эти SIGPIPE сигнал используйте следующий код:

signal(SIGPIPE, SIG_IGN);

, Если Вы используете эти send() вызов, другая опция состоит в том, чтобы использовать MSG_NOSIGNAL опция, которая выключит SIGPIPE поведение на на основание вызова. Обратите внимание, что не все операционные системы поддерживают эти MSG_NOSIGNAL флаг.

Наконец, можно также хотеть рассмотреть SO_SIGNOPIPE флаг сокета, который может быть установлен с [1 111] в некоторых операционных системах. Это предотвратит SIGPIPE от того, чтобы быть вызванным записями только к сокетам, на которых это установлено.

9
задан jrista 16 October 2009 в 01:07
поделиться

2 ответа

Что вам нужно, так это ListView, который использует WrapPanel для размещения всех элементов.

<ListView ItemsSource={...}>
   <ListView.ItemsPanel>
     <ItemsPanelTemplate>
       <WrapPanel IsItemsHost="True" />
     </ItemsPanelTemplate>
   </ListView.ItemsPanel>
   <ListView.ItemTemplate>
      <DataTemplate>
        <!-- Fill in how you want each item to look here -->
      </DataTemplate>
   </ListView.ItemTemplate>
</ListView>
19
ответ дан 4 December 2019 в 06:57
поделиться

Используйте ItemsControl, и установите для него ItemsPanel значение WrapPanel:

<ItemsControl ItemsSource="{Binding Something}" ItemTemplate="{StaticResource YourDataTemplate}">
  <ItemsControl.ItemsPanel>
    <ItemsPanelTemplate>
      <WrapPanel />
    </ItemsPanelTemplate>
  </ItemsControl.ItemsPanel>
</ItemsControl>
14
ответ дан 4 December 2019 в 06:57
поделиться
Другие вопросы по тегам:

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