質問

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

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

これは簡単に思えます UserControl, ただし、XAMLファイルをXAMLReaderでロードしたいので、リソースを使用してXAML内で指定できるようにしたいと考えています。 aなどのアイテムを保存することは可能です 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>

しかし、どうすればこれを使用できますか Logo 私の他のXAMLファイルで - 多分私はリソースについて間違った考えを持っていますか?

役に立ちましたか?

解決

ソリューションは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を使用してください。

他のヒント

通常、このためにリソース辞書を作成したい場合は、スタイルを作成します。その後、コントロールをドロップし、リソースでスタイルを整えることができます。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top