0

WPF プロジェクトのすべてのウィンドウにグローバル リソースを作成する方法を探しています。さまざまなコントロールを持つさまざまなウィンドウがありますが、すべて同じコンテキスト メニューが必要です。たとえば、次のボタンのコンテキスト メニューがあります。

        <Button.ContextMenu>
            <ContextMenu>
                <MenuItem Header="1"/>
                <MenuItem Header="More">
                    <MenuItem Header="2"/>
                    <MenuItem Header="2" IsCheckable="True"/>
                    <MenuItem Header="2" IsCheckable="True"/>
                    <MenuItem Header="2" IsEnabled="False"/>
                    <MenuItem Header="More">
                        <MenuItem Header="3"/>
                        <MenuItem Header="More">
                            <MenuItem Header="4"/>
                        </MenuItem>
                    </MenuItem>
                </MenuItem>
            </ContextMenu>
        </Button.ContextMenu>

独自の別のウィンドウのラベルにも使用できるはずです。

このようなもの:

resource file: contextMenu
wpf form 1: use contextMenur resource for button
wpf form 2: use contextMenur resource for label
wpf form 3: use contextMenur resource for combobox

私が読んだすべてのリソース チュートリアルでは、同じウィンドウでしかリソースを利用できませんでした。

4

2 に答える 2

2

これを App.xaml ファイルのセクション に追加します<Application.Resources>

<Application ...>
   <Application.Resources>
      <SolidColorBrush x:Key="somebrush" ... />
   </Application.Resources>
</Application>

何処か別の場所:

   <Grid Background="{StaticResource somebrush}">
      ...
   </Grid>

(MA Stoecker による MCTS トレーニング キット Windows アプリケーション開発から)

したがって、ContextMenu をリソースに配置し、x:Key を指定してから、次のように記述します。

   <Button ...>
       <Button.ContextMenu>
           <StaticResource ResourceKey="keyThatWasGiven" />
       </Button.ContextMenu>   
   </Button>
于 2012-08-30T08:54:46.387 に答える
2

スタンドアロンに配置し、を使用してResourceDictionaryそれを参照できます(例のセクションを参照)。WindowMergedDictionaries

于 2012-08-30T08:55:00.687 に答える