Измените выбранный и несфокусированный стиль Поля списка для не отображений серым

Хорошо, тогда вам придется обрабатывать сетки с объемом. Это многое меняет ...

  1. сегментированные объекты

    выбирают все грани, заключающие его внутрь ... Так что это похоже на:

    • [111 ] Найти дыры в наборах 2d точек?

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

    Вы можете сделать это также с векторной математикой / пробелом, так что просто проверьте, если линия от какой-то внутренней точки к грани ударяет по любому другому лицу ... если нет, вы нашли свое поверхностное лицо ... похоже на Тест удара

  2. объект процесса (необязательно)

    вы можете дополнительно сегментировать объектную сетку на «плоские» объекты, из которых он состоит группируя грани, принадлежащие к одной плоскости ... или внутри охватывающего ребра / контура ..., затем определите, что они

    • треугольник
    • прямоугольник
    • многоугольник [1145 ]
    • диск

    по количеству и типу лиц вы можете обнаружить основные объекты, такие как:

    cone = 1 disc + 1 curved surface with singular edge point parallel to disc center
    box/cube = 6 rectangles/squares
    cylinder = 2 discs + 1 curved surface with center axis going through discs centers
    
  3. вычислить основные геометрические свойства отдельные объекты (необязательно)

    , такие как BBOX или OBB , поверхность, объем, геом. центр, центр масс, ...

    1126] Теперь просто решите, какой это тип объекта. Например, соотношение между площадью поверхности и объемом может указывать на сферу или эллипсоид, если OBB совпадает со сторонами, оно намекает на поле, если геом и центры масс совпадают, это указывает на симметричный объект ...

  4. передать сетку в функцию подбора возможного типа объекта

    , поэтому на основе маркеров # 2, # 3 у вас есть представление о том, какой объект может быть какие формы, так что просто подтвердите это с вашей функцией подгонки ...

    Чтобы упростить этот процесс, вы можете использовать свойства из # 3 , например, см. Аналогичные:

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

3 ответа

Я сделал что-то вроде этого с помощью следующего в объединенном ResourceDictionary, оно может помочь Вам:

<Style TargetType="ListBoxItem">
    <Style.Resources>
        <!--SelectedItem with focus-->
        <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="LightBlue" Opacity=".4"/>
        <!--SelectedItem without focus-->
        <SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey }" Color="LightBlue" Opacity=".4"/>
    </Style.Resources>
</Style>
50
ответ дан 27 November 2019 в 21:54
поделиться

Можно, вероятно, решить проблему путем перезаписи Шаблона, но попробовать это за легкий патч.

<Style TargetType="ListViewItem">
  <Style.Resources>
    <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Blue" />
    <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Blue" />
  </Style.Resources>
</Style>
4
ответ дан 27 November 2019 в 21:54
поделиться

Это не ответ на вопрос, но я обнаружил его, когда искал способ отключить выбор в моих списках. Используя слегка измененную форму описанной выше техники Гая и Бендевея, оказывается, что вы можете создать видимость отсутствия выбора в вашем списке без замены базового элемента управления элементами или чего-то подобного. Вот код, который я использовал:

<Grid.Resources>
  <Style TargetType="ListBoxItem">
    <Style.Resources>
      <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="White" />
      <SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="Black" />
      <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="White" />
    </Style.Resources>
  </Style>
</Grid.Resources>

Я также нашел полезной следующую страницу MSDN:

MSDN: SystemColors Members (System.Windows)

Спасибо за помощь, ребята.

11
ответ дан 27 November 2019 в 21:54
поделиться
Другие вопросы по тегам:

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