2017-12-22 15 views
0

複数のxamlベースのオブジェクトをVS、Blend、またはサードパーティのアプリケーションでも1つのResourceDictionaryに自動的に変換および結合する機能がありますか? 「...辞書に追加」それは、ファイルを右クリックにいいこととのようなものを選択することになるxamlベースのベクトル画像ファイルの束を1つの辞書にどのように組み合わせるのですか?

<Canvas Width="94.936523" Height="177.207031" Name="AmericanImage"> 
    <Path Fill="#ff000000" Data="F1 M 67.072266,6.236816 C 67.069336,6.233398 68.373047,2.524414 71.210938,2.522949 C 71.210938,2.521484 75.245117,2.520996 75.248047,2.520996 C 75.248047,2.521484 79.283203,2.521484 79.284180,2.523926 C 82.116211,2.525391 83.424805,6.233887 83.422852,6.238281 C 83.425781,6.269043 84.953125,42.543457 84.953125,42.543457 L 65.763672,42.540527 C 65.763672,42.540527 67.072266,6.241699 67.072266,6.236816 Z"/> 
</Canvas> 

、それが自動的にキーを追加します。ここで私は希望のベクタ画像ファイルには、リソースになっていますインラインまたはファイルにリンクされたデータ・ディクショナリに挿入します。このようなものはありますか? ResourceDictionariesを手動で構築する必要があると考えるのは難しいです。

答えて

0

いくつかの可能な方法があります。

1)データテンプレート の使用は、あなたがたDataTemplateであなたのイメージを梱包してから、このように使用されています

<DataTemplate x:Key="TheIcon"> 
    <Canvas Width="94.936523" Height="177.207031" Name="AmericanImage"> 
     <Path Fill="#ff000000" Data="F1 M 67.072266,6.236816 C 67.069336,6.233398 68.373047,2.524414 71.210938,2.522949 C 71.210938,2.521484 75.245117,2.520996 75.248047,2.520996 C 75.248047,2.521484 79.283203,2.521484 79.284180,2.523926 C 82.116211,2.525391 83.424805,6.233887 83.422852,6.238281 C 83.425781,6.269043 84.953125,42.543457 84.953125,42.543457 L 65.763672,42.540527 C 65.763672,42.540527 67.072266,6.241699 67.072266,6.236816 Z"/> 
    </Canvas> 
</DataTemplate> 

をしてから、この

<ContentControl ContentTemplate="{StaticResource TheIcon}"/> 
のように使用します

2)ほとんど同じアプローチですが、辞書のみに保存しますジオメトリ

<ResourceDictionary> 
    <Geometry x:Key="Geometry"> 
      F1 M 67.072266,6.236816 C 67.069336,6.233398 68.373047,2.524414 71.210938,2.522949 C 71.210938,2.521484 75.245117,2.520996 75.248047,2.520996 C 75.248047,2.521484 79.283203,2.521484 79.284180,2.523926 C 82.116211,2.525391 83.424805,6.233887 83.422852,6.238281 C 83.425781,6.269043 84.953125,42.543457 84.953125,42.543457 L 65.763672,42.540527 C 65.763672,42.540527 67.072266,6.241699 67.072266,6.236816 Z 
     </Geometry> 
</ResourceDictionary> 

と使用方法:

<Canvas Width="94.936523" Height="177.207031" Name="AmericanImage"> 
    <Path Data="{StaticResource Geometry}"/> 
</Canvas> 

また、あなたが#2カスタムコントロールにソリューションをパックすることができます。

+0

ありがとうございました。イメージをコントロールにどのようにしてデータバインドするのですか?データベースに商品のリストがあり、ベクトル画像が辞書にあるとします。製品Aと画像Bを動的にバインドするにはどうすればよいですか? –

関連する問題