2016-02-12 2 views
3

Это тривиальная вещь, но все же она не работает.Как использовать данные пути из ресурсного словаря в UWP

У меня есть что-то вроде этого (он находится в своей папке)

<ResourceDictionary> 
    <Path x:Key="Test" 
      Stroke="Black" 
      Fill="Gray" 
      Data="M 10,100 C 10,300 300,-200 300,100" /> 
</ResourceDictionary> 

Теперь я хочу, чтобы использовать его

<Page> 
    <Page.Resources> 
     <ResourceDictionary> 
      <ResourceDictionary.MergeDictionaries> 
       <ResourceDictionary Source="MyFolder/MyResourceDictionary.xaml/> 
      </ResourceDictionary.MergeDictionaries> 
     </ResourceDictionary> 
    </Page.Resources> 
    <ContentPresenter Content="{StaticResource Test}"/> 
<Page/> 

Это сгенерирует исключение, но я не понимаю, почему , Точно такой же сценарий в wpf работает отлично.

+0

Если изменить ContentPresenter к '' Как насчет тогда? Извините, у меня нет времени возиться сегодня, но вы всегда можете просто сделать что-то вроде [этого] (http://stackoverflow.com/questions/13292179/best-way-to-use-a-vector-image-in- МОФ/13293017 # 13293017). –

+0

@ChrisW. То же самое происходит, но принятый ответ работает :) спасибо. – adminSoftDK

ответ

3

Как насчет этого решения?

возвещать GeometryData

<x:String x:Key="TestPathGeomerty">M 10,100 C 10,300 300,-200 300,100</x:String> 

И использовать Path, вместо ContentPresenter

<Path Data="{StaticResource TestPathGeomerty}" 
     Fill="Red"/> 
+0

Спасибо за ваш ответ, я проверю, работает ли он. – adminSoftDK

+0

Я проверил его перед публикацией. Это 100% рабочее решение. –

+0

Есть ли решение для фактического Пути как StaticResource? Я хотел бы иметь другие свойства Path, содержащиеся в ресурсе, а не только данные. – Magnus

Смежные вопросы