Я пытаюсь создать один прямоугольник, заполненный горизонтальными или вертикальными линиями. Ширина прямоугольника динамическая, поэтому я не могу использовать кисть изображения. Пожалуйста, дайте мне знать, если кто-нибудь знает какое-либо решение.WPF Прямоугольник, заполненный горизонтальными или вертикальными линиями
ответ
Я понял прямолинейный способ сделать это; наконец, я использовал следующие визуальные кисти ресурсов для заполнения прямоугольника с горизонтальными, вертикальными или пунктирными вертикальными линиями соответственно
<!--for horizontal lines-->
<VisualBrush
x:Key="HorizontalLines"
TileMode="Tile" Viewport="0,0,4,4"
ViewportUnits="Absolute" Viewbox="0,0,10,10"
ViewboxUnits="Absolute">
<VisualBrush.Visual>
<Canvas>
<Path Stroke="Black" Data="M 0 10 l 10 0" />
</Canvas>
</VisualBrush.Visual>
</VisualBrush>
<!--For vertical lines-->
<VisualBrush
x:Key="VerticalLines"
TileMode="Tile" Viewport="0,0,4,4"
ViewportUnits="Absolute" Viewbox="0,0,10,10"
ViewboxUnits="Absolute">
<VisualBrush.Visual>
<Canvas >
<Path Stroke="Black" Data="M 0 0 l 0 10" />
</Canvas>
</VisualBrush.Visual>
</VisualBrush>
<!--For dotted vertical lines-->
<VisualBrush
x:Key="DottedVerticalLinesWithFill"
TileMode="Tile" Viewport="0,0,10,10"
ViewportUnits="Absolute" Viewbox="0,0,10,10"
ViewboxUnits="Absolute">
<VisualBrush.Visual>
<Canvas>
<Path Stroke="Purple" Data="M 0 5l 0 -10" />
</Canvas>
</VisualBrush.Visual>
</VisualBrush>
Вы пытались использовать TileBrush?
ImageBrush
происходит от TileBrush
, так что вы можете использовать свойство Viewport
, чтобы повторить его. См. Пример this MSDN page.
Я не могу представить, как это будет работать, основной TileMode сам для меня не работает, это фрагмент кода ...
Вы можете легко сделать это с помощью LinearGradientBrush:
<Rectangle Width="100" Height="100">
<Rectangle.Fill>
<LinearGradientBrush SpreadMethod="Reflect" StartPoint="0 0" EndPoint="0 0.05">
<GradientStop Offset="0.5" Color="Black"/>
<GradientStop Offset="0.5" Color="White"/>
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
You толщина линии управления и ориентации со свойством конечной точки.
Этот подход работает только для фигур фиксированного размера (прямоугольник 100x100 в приведенном выше случае). Если форма может растянуться, тогда размер тире также будет растянут. Обычно это не то, что вы хотите. –
- 1. Создание кругов CSS, связанных вертикальными и горизонтальными линиями
- 2. Разделить экран с вертикальными и горизонтальными линиями/Просмотров
- 3. WPF Datagrid с горизонтальными и вертикальными линиями сетки с центрированной мишенью
- 4. Как сделать элементы списка ListView WPF горизонтальными и вертикальными?
- 5. Android GestureOverlay с вертикальными и горизонтальными штрихами
- 6. Стол с видимыми вертикальными линиями
- 7. Как заполнить таблицу вертикальными и горизонтальными результатами?
- 8. Отзывчивый стол с вертикальными и горизонтальными заголовками
- 9. Gridview с горизонтальными и вертикальными выровняющими центрировщиками
- 10. Бутстрап, делающий столбцы вертикальными, а не горизонтальными
- 11. удалить заполненный прямоугольник C#
- 12. VC Размер с прямоугольниками с горизонтальными и вертикальными краями
- 13. Проблема с горизонтальными и вертикальными линиями, принимающими класс «Дата» в ggplot?
- 14. Экспорт UIImage как stretchableImage экспортирует изображение с горизонтальными и вертикальными линиями, нарисованными над изображением
- 15. Jfree chart XY plot: как мы можем установить пространство между горизонтальными линиями до 0,3 и вертикальными линиями до 0,4?
- 16. OpenCV прямоугольник с пунктирными или пунктирными линиями
- 17. Область тени между двумя вертикальными линиями
- 18. Область затенения между двумя вертикальными линиями
- 19. Создайте форму с тремя вертикальными линиями (полосы)
- 20. Фильтр Grok с вертикальными линиями в журналах
- 21. Затенение между вертикальными линиями в MATLAB
- 22. ggplot2 - область тени между двумя вертикальными линиями
- 23. Вращение линейной диаграммы с вертикальными соединительными линиями
- 24. Picasso загружает изображения с горизонтальными линиями
- 25. Заполнить область между двумя горизонтальными линиями
- 26. Стиль Delphi ListView с горизонтальными разделительными линиями
- 27. Достижение кривизны CSS между вертикальными и горизонтальными divs?
- 28. прокладочные данные только с горизонтальными и вертикальными связями в Matlab
- 29. Как я могу получить эти вещи горизонтальными, а не вертикальными?
- 30. html - Почему мои три кнопки являются вертикальными, а не горизонтальными?
Поправьте меня, если я ошибаюсь, вы предлагаете, что я должен использовать ImageDrawing и DrawingBrush TileMode установлен в «Плитка» ? – Pravin
Set Stretch to Fill, иначе ничего не будет работать, так как он всегда будет использовать размер изображения по умолчанию. –