Загрузить «Геометрию» из ресурсов в UWP - PullRequest
0 голосов
/ 25 января 2020

У меня проблема, аналогичная обсуждаемой здесь - Использование ресурсов Geometry в XAML - но я не нашел там ответа. У меня есть страница в UWP, которая выглядит следующим образом:

<Page.Resources>
        <GeometryGroup x:Key="Geometry">
            <RectangleGeometry Rect="0 ,0 100 ,100"></RectangleGeometry>
            <EllipseGeometry Center="150, 50" RadiusX="35" RadiusY="25"></EllipseGeometry>
        </GeometryGroup>
    </Page.Resources>

    <Canvas x:Name="canMain" >
        <Path Fill="Yellow" Stroke="Blue" Margin="5" Canvas.Top="10" Canvas.Left="10"
Data="{StaticResource Geometry}">
        </Path>
        <Path Fill="Green" Stroke="Blue" Margin="5" Canvas.Top="150" Canvas.Left="10"
Data="{StaticResource Geometry}">
        </Path>
    </Canvas>

Пример кода взят из книги WPF, где он должен работать. В UWP приложение выдает исключение времени выполнения (что означает, что приложение прекрасно собирается) типа Windows .UI.Xaml.Markup.XamlParseException с сообщением: «Не удалось назначить свойству» Windows .UI.Xaml.Shapes .Path.Data "Ошибка указывает на эту строку:

    <Path Fill="Yellow" Stroke="Blue" Margin="5" Canvas.Top="10" Canvas.Left="10"
Data="{StaticResource Geometry}">

В частности, этот кусок Data =" {StaticResource Geometry} " - есть какие-нибудь идеи, пожалуйста? Спасибо!

Если я попробую в этом примере , то это сработает. Если я перепишу пример следующим образом:

<Page.Resources>
        <GeometryGroup x:Key="myGeometry">
            <EllipseGeometry Center="50,50" RadiusX="50" RadiusY="50"/>
            <RectangleGeometry Rect="0,0,100,100" />
        </GeometryGroup>

    </Page.Resources>

    <Path Fill="Gold" Stroke="Black" StrokeThickness="1" Data="{StaticResource ResourceKey=myGeometry}">
    </Path>

я получу то же исключение.

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