我正在寻找一种方法来为我的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我读过的所有资源教程在同一窗口中都有可用的资源
发布于 2012-08-30 16:54:46
将其添加到<Application.Resources>部分的App.xaml文件中。
<Application ...>
<Application.Resources>
<SolidColorBrush x:Key="somebrush" ... />
</Application.Resources>
</Application>其他地方:
<Grid Background="{StaticResource somebrush}">
...
</Grid>(摘自M.A. Stoecker的MCTS Training Kit Windows Applications Development )
因此,您需要将ContextMenu放入参考资料中,给它一个x:键,然后编写
<Button ...>
<Button.ContextMenu>
<StaticResource ResourceKey="keyThatWasGiven" />
</Button.ContextMenu>
</Button>发布于 2012-08-30 16:55:01
您可以将它放在一个独立的ResourceDictionary中,并使用MergedDictionaries在任何Window中引用它(请参阅示例部分)。
https://stackoverflow.com/questions/12193214
复制相似问题