0

ロゴを描画するためのXAMLがいくつかあり、これを他のさまざまなXAMLファイルで再利用したいと考えています(UIがなく、コードも必要ありません)。ロゴXAMLのトップレベルはCanvasアイテムです。

他のXAMLファイルでロゴを使用するには、このロゴをの要素として定義するか、 ?ResourceDictionaryを作成するのが最適です。UserControl

これは簡単に思えUserControlますが、XAMLファイルをXamlReaderでロードしたいので、XAML内で指定できるようにリソースを使用することをお勧めします。になどのアイテムを保存することは可能のようですがCanvasResourceDictionaryそれらを参照する方法がわかりません。

たとえば、次のようにロゴをResourceDictionary要素として定義できます。

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Canvas x:Name="LayoutRoot" x:Key="Logo">
        <!-- My Logo -->
    </Canvas>
</ResourceDictionary>

しかし、これを他のXAMLファイルでどのように使用できLogoますか?リソースについて間違った考えを持っている可能性がありますか?

4

2 に答える 2

1

解決策はVisualBrushであることがわかりました。これは、ResourceDictionaryで次のように定義できます。

<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<VisualBrush x:Key="Logo">
    <VisualBrush.Visual>
<Canvas x:Name="LayoutRoot" x:Key="Logo"> 
               <!-- My Logo --> 
             </Canvas> 

次に、必要に応じてこのVisualBrushを使用します。

于 2010-01-12T18:50:35.440 に答える
0

通常、このためのリソース辞書を作成する場合は、スタイルを作成します。次に、コントロールをドロップして、必要な他のxamlファイルでリソースを使用してスタイルを設定できます。

ただし、UserControlは、どこにでもドロップできるシンプルで再利用可能な要素であるため、より簡単なオプションになる可能性があります。

于 2010-01-12T18:03:39.003 に答える