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>
Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top