Можете ли вы сделать использование VisualBrush, который имеет смещение?
-
14-11-2019 - |
Вопрос
У меня есть изображение 64x64, которое я использую в качестве источника Visaglbrush, который я плитую на фоне управления.Однако, основываясь на некоторой логике выполнения, я хочу изменить происхождение визуальной кисти.Не размер плитки, просто где «верхний левый», если вы будете.Другими словами, подумайте об этом не в качестве компенсации в саму плитку, а скорее смещение, где на контроле начинается плитка.
Тем не менее, как можно задействовать его, используя исходное изображение, чтобы вручную представлять во втором изображении того же размера, используя шаблон 2x2, который начинается с определенного отрицательного смещения (таким образом, вытекает, что 2x2 до размера плитки), затемИспользуя это изображение в качестве источника для фактической щетки плитки, не уверена, как еще я могу достичь этого.Я удивлен, что я не видел какой-то тилофт или что-то подобное.Может в конечном итоге прокатить свой собственный подкласс кисти, которая имеет значение именно.
Если кто-то еще не знает более прошедший способ сделать это ... :)
Решение
Хорошо, как это состояния здесь Свойство Viewport Tilebrushs:
Получает или устанавливает положение и размеры базовой плитки для плитки для плитки
Вы можете легко настроить первые два параметра Viewport для компенсации плитки.Например:
.<ImageBrush ImageSource="..." Viewport="0,0,20,20" ViewportUnits="Absolute" TileMode="Tile" />
Если это было вашим базой, и вы хотите компенсировать этот 5px в направлении X, вы делаете:
.<ImageBrush ImageSource="..." Viewport="5,0,20,20" ViewportUnits="Absolute" TileMode="Tile" />
Как
TileBrush
является основой дляImageBrush
, так же, как дляVisualBrush
, это относится одинаково для GeneracodicTacodCode.