WPF - Ajuda do caminho/geometria - forma estranha
-
21-09-2019 - |
Pergunta
Alguém conhece uma boa maneira de criar esse objeto a partir de Xaml? Ele também precisa trabalhar com 0,5 opacidade quando colocado em camadas em cima de outros controles.
Também deve ser redimensível via alinhamento horizontal ou vertical.
Shape http://monitor.utopiaSelfscan.com/test.bmp
Estou tendo alguma dificuldade. O mais próximo que chego é com 2 fronteiras, uma com uma margem negativa-mas não funciona quando a opacidade é aplicada.
Código que funciona:
<Path Fill="Black">
<Path.Data>
<CombinedGeometry GeometryCombineMode="Exclude">
<CombinedGeometry.Geometry1>
<RectangleGeometry RadiusX="5" RadiusY="5" Rect="0,0,200,100" />
</CombinedGeometry.Geometry1>
<CombinedGeometry.Geometry2>
<RectangleGeometry RadiusX="5" RadiusY="5" Rect="105,5,90,90" />
</CombinedGeometry.Geometry2>
</CombinedGeometry>
</Path.Data>
</Path>
Solução
Use um Grupo de Geometry com um preenchimento equilibrado, ou um Combinedgeometria com um geometryCombineMode de XOR ou excluir. As geometrias para combinar serão objetos retângulo, com um Radiusx e Radiusy apropriados. O resultado será o retângulo externo com um "orifício", onde o retângulo interno estava localizado. (Presumo que seja isso que você quer, em vez de um retângulo branco dentro do preto.)
Em seguida, você pode atribuir essa geometria composta a um caminho como propriedade de dados e definir o preenchimento e a opacidade, conforme necessário.