У меня проблема, аналогичная обсуждаемой здесь - Использование ресурсов 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>
я получу то же исключение.