Многоразовая помощь Кнопка и всплывающая подсказка - PullRequest
1 голос
/ 23 июля 2010

В моем приложении около 30 просмотров и соответствующих виртуальных машин.У меня есть 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 Ответ

1 голос
/ 01 мая 2012

Я вижу, что прошло некоторое время с тех пор, как был задан этот вопрос, но я решил, что отвечу, если кто-то еще столкнется с этой проблемой и будет искать решение.

Поместите его в ResourceDictionary в отдельном Resources.xaml, который доступен из всех ваших других представлений:

<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>
...