Vinicius Quaiato

{tecnologia, conceitos, negócios, idéias, práticas, .NET, ruby, osx, ios e algo mais}

QuickTip: Desenhando linhas no Canvas WPF


Fala galera estou trabalhando em um projeto bem diferente do comum, e usando WPF.Neste momento estou precisando desenhar linhas em um Canvas, para gerar um grid(não um grid de dados, mas um tilling ou grid lines). Sabem aqueles papéis quadriculados? Pois bem, quase o mesmo.Estava imaginando que teria que executar fors e desenhar linhas, ou uma porção de quadrados. Que nada! O WPF resolve isso com os pés nas costas.Basta definirmos a propriedade Background do nosso Canvas para usar um VisualBrush com alguma "gambetagem"(retirada do stackoverflow):

            <visualbrush.visual>                <grid>                    <rectangle width="1" height="0.02" fill="Black" horizontalalignment="Left" verticalalignment="Top" />                    <rectangle height="1" width="0.02" fill="Black" horizontalalignment="Left" verticalalignment="Top" />                </grid>            </visualbrush.visual>        </visualbrush>    </canvas.background></canvas>

O resultado será um canvas mais ou menos assim:WPF Canvas

Ou se preferirem usar um DrawingBrush:

                <drawingbrush.drawing>                    <geometrydrawing geometry="M0,0 L0,1 0.03,1 0.03,0.03 1,0.03 1,0 Z" brush="Black" />                </drawingbrush.drawing>            </drawingbrush>        </canvas.background>    </canvas>

Se o Canvas for redimensionado, as linhas serão redesenhadas. Muito fácil!

Abraços, Vinicius Quaiato.

Voltar

Fork me on GitHub