Как я могу получить информацию о геометрии в C # из объекта XAML? - PullRequest
0 голосов
/ 14 октября 2011

с учетом следующего кода XAML:

<Canvas Name="MainView">

    <Canvas Name="TriangleElement" Width="50" Height="50" Canvas.Left="110" Canvas.Top="100">
        <Canvas.RenderTransform>
            <RotateTransform CenterX="25" CenterY="25" Angle="0" />
        </Canvas.RenderTransform>
        <Path Stroke="#FF009600" StrokeThickness="1" Fill="#FF68E168">
            <Path.Data>
                M 0,0 L 50,0 50,50 Z
            </Path.Data>
        </Path>
    </Canvas>

    <Canvas Name="SquareElement" Width="50" Height="50" Canvas.Left="170" Canvas.Top="100">
        <Canvas.RenderTransform>
            <RotateTransform CenterX="25" CenterY="25" Angle="0" />
        </Canvas.RenderTransform>
        <Path Stroke="#FF005DFF" StrokeThickness="1" Fill="#FF98D0F8">
            <Path.Data>M 0,0 L 50,0 50,50 0,50 Z</Path.Data>
        </Path>
    </Canvas>

</Canvas>

Как я могу получить данные пути / информацию о геометрии в c #, не называя ее в XAML? В прошлом я создал несколько элементов UserControl, создал интерфейс для объектов и извлек информацию на основе имени пути. В моем текущем случае я не могу использовать этот подход.

1 Ответ

1 голос
/ 14 октября 2011

Не уверен, что я понимаю вопрос, но вы не можете использовать

((Path)TriangleElement.Children[0]).Data

И для чего эти элементы Canvas?Похоже, что они ничего не делают.

Почему бы и нет:

<Path Name="SquareElement" Width="50" Height="50" Stroke="#FF005DFF" StrokeThickness="1" Fill="#FF98D0F8">
    <Path.RenderTransform>
        <RotateTransform CenterX="25" CenterY="25" Angle="60" />
    </Path.RenderTransform>
    <Path.Data>M 0,0 L 50,0 50,50 0,50 Z</Path.Data>
</Path>

Тогда вы можете перейти к своим путям по имени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...