可重复使用的帮助按钮和帮助弹出窗口

时间:2010-07-22 22:13:42

标签: wpf button popup controltemplate

我的应用程序中有大约30个视图和相应的VM。我在大多数用户控件旁边都有一个HelpButton,它提供了该字段用途的一些描述。当用户点击Button时,会打开Popup并提供说明。在所有视图中重用此功能的最佳方法是什么?

我为ControlTemplate和帮助HelpButton创建了Popup,但我可以更进一步吗?感谢。

<Style x:Key="HelpButton" TargetType="{x:Type Button}" >
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type Button}">
                <Ellipse Focusable="True" Height="16" Width="16">
                    <Ellipse.Fill>
                        <ImageBrush ImageSource="../../Resources/Icons/Help.png" />
                    </Ellipse.Fill>
                </Ellipse>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

1 个答案:

答案 0 :(得分:1)

我发现自从提出这个问题以来已经有一段时间了,但我想我会回复以防其他人遇到这个问题而正在寻找解决方案。

将它放在可以从所有其他视图访问的单独的Resources.xaml中的ResourceDictionary中:

<ResourceDictionary xmlns...>
    <Style x:Key="HelpButton" TargetType="{x:Type Button}" >
        ...
    </Style>
</ResourceDictionary>

然后在您的xaml中使用资源部分(正如您之前所做的那样):

<UserControl xmlns...>
    <UserControl.Resources>
        <ResourceDictionary Source="Resources.xaml"/>
    </UserControl.Resources>

    <Button Style="{StaticResource HelpButton}" />
</UserControl>