Скрытие поля со списком и раскрывающийся список просто оставляя текст, когда мышь уходит - PullRequest
1 голос
/ 14 марта 2012

Я очень noob на wpf, но у меня есть приложение для записи, которое включает в себя скрытие определенных границ / частей элементов управления, когда мышь покинула родительский контейнер.

Мне удалось сделатьэто для текстовых полей и кнопок, просто используя анимацию раскадровки на непрозрачности и / или цвет рамки, но комбо-бокс - это другой котелок рыбы, так что, кажется, и я думаю, это будет непросто!

Просто повторить, янеобходимо скрыть все части элемента управления, которые делают его похожим на комбинированный список, т.е. границу и кнопку со стрелкой раскрывающегося списка - оставляя выделенный текст видимым.Желательно с анимацией, когда мышь покидает родительский контейнер.Этот xaml показывает триггер для TextBox:

    <Grid.Triggers>
        <EventTrigger RoutedEvent="Grid.MouseEnter">
            <EventTrigger.Actions>
                <BeginStoryboard Storyboard="{StaticResource showTextbox}"/>
            </EventTrigger.Actions>
        </EventTrigger>
        <EventTrigger RoutedEvent="Grid.MouseLeave">
            <EventTrigger.Actions>
                <BeginStoryboard Storyboard="{StaticResource hideTextbox}"/>
            </EventTrigger.Actions>
        </EventTrigger>
    </Grid.Triggers>

И этот xaml является раскадровкой для анимации.

        <Storyboard x:Key="showTextbox" >
            <ColorAnimation Storyboard.TargetName="textBox1" Storyboard.TargetProperty="(TextBox.BorderBrush).Color" From="White" To="Black" Duration="0:0:0.25" AutoReverse="False" />
        </Storyboard>
        <Storyboard x:Key="hideTextbox" >
            <ColorAnimation Storyboard.TargetName="textBox1" Storyboard.TargetProperty="(TextBox.BorderBrush).Color" From="Black" To="White" Duration="0:0:0.25" AutoReverse="False" />
        </Storyboard>

Спасибо за любую помощь или указатели на это!

1 Ответ

0 голосов
/ 14 марта 2012

Проблема с выпадающими списками состоит в том, что они на самом деле состоят из разных частей, включая тумблер и всплывающее окно. Таким образом, чтобы изменить его стиль, вам нужно изменить стиль его частей.

пример изменения стиля комбинированного списка: http://blog.xamltemplates.net/?p=12

если вы используете код из этого примера, то чтобы сделать то, что вы хотите, измените стиль ComboBoxReadonlyToggleButton:

  • чтобы убрать стрелку, убрать путь.

  • для добавления анимации добавьте свои триггеры в раздел ControlTemplate.Triggers

  • , чтобы удалить границу, измените BorderThickness на 0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...