Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > WPF, UWP, WinRT, XAML
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 09.08.2016, 16:04   #1
savra
search money
Пользователь
 
Регистрация: 12.10.2009
Адрес: Брянск
Сообщений: 46
Репутация: 10

icq: 572-744-280 Отправить сообщение для savra с помощью Yahoo
skype: savruhin.sergei
Восклицание Использование EventTrigger

Всем привет.

Есть кнопка с текстом "collapse" и ниже Grid.

По определенной причине использовать C# код нельзя. Необходимо чтобы при нажатии на кнопку, текст кнопки изменялся на "Details" и Grid становился невидимым, а при повторном нажатии грид появлялся и название кнопки обратно изменялось на "Collapse".

Нашел, что можно реализовать через EventTrigger

Я сделал чтобы Grid становился невидимым (Visibility = hidden) и изменялся текст на кнопке.

Как сделать чтобы при повторном нажатии он становился (Visibility = visible) и текст менялся обратно на "Collapse"?

Код:

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Grid.Triggers>
            <EventTrigger SourceName="button1" RoutedEvent="Button.Click">
                <BeginStoryboard>
                    <Storyboard>
                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="CollapsedGrid" Storyboard.TargetProperty="Visibility">
                            <DiscreteObjectKeyFrame KeyTime="0:0:0">
                                <DiscreteObjectKeyFrame.Value>
                                    <Visibility>Hidden</Visibility>
                                </DiscreteObjectKeyFrame.Value>
                            </DiscreteObjectKeyFrame>
                        </ObjectAnimationUsingKeyFrames>
                    <StringAnimationUsingKeyFrames Storyboard.TargetName="button1" Storyboard.TargetProperty="Content">
                        <DiscreteStringKeyFrame KeyTime="0:0:0" Value="Details">

                        </DiscreteStringKeyFrame>
                    </StringAnimationUsingKeyFrames>
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>
        </Grid.Triggers>

        <Button Content="Collapse" Height="23" HorizontalAlignment="Left" Margin="54,40,0,0" Name="button1" VerticalAlignment="Top" Width="75">
        </Button>
        <Grid x:Name="CollapsedGrid" Margin="40,97,69,37" Visibility="Visible">
            <Border Grid.ColumnSpan='2' BorderThickness='1' BorderBrush='#FFD4D4D4' Padding='10,5'>
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width='Auto'/>
                        <ColumnDefinition Width='6'/>
                        <ColumnDefinition Width='*'/>
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition Height='Auto'/>
                        <RowDefinition Height='5'/>
                        <RowDefinition Height='Auto'/>
                        <RowDefinition Height='5'/>
                        <RowDefinition Height='Auto'/>
                        <RowDefinition Height='*'/>
                    </Grid.RowDefinitions>
                    <TextBlock Text='gfgfgfgfgfgfgf:'/>
                    <StackPanel  Orientation='Horizontal' Grid.Column='2'>
                        <TextBlock Text='100000000000000000.00' Margin='0,0,6,0'/>
                        <TextBlock Text='eur'/>
                    </StackPanel>
                    <TextBlock Text='tttttttttttttt:'  Grid.Row='2'/>
                    <StackPanel  Orientation='Horizontal'  Grid.Row='2' Grid.Column='2'  >
                        <TextBlock Text='0'   Margin='0,0,6,0'/>
                        <TextBlock Text='eur'/>
                    </StackPanel>
                    <TextBlock Text='rrrrrrrrrrrrrrrrr:'  Grid.Row='4'/>
                    <StackPanel  Orientation='Horizontal'  Grid.Row='4' Grid.Column='2' >
                        <TextBlock Text='10000000'   Margin='0,0,6,0'/>
                        <TextBlock Text='eur'/>
                    </StackPanel>
                </Grid>
            </Border>
        </Grid>
    </Grid>
</Window>

savra вне форума   Ответить с цитированием
Старый 09.08.2016, 17:45   #2
savra
search money
Пользователь
 
Регистрация: 12.10.2009
Адрес: Брянск
Сообщений: 46
Репутация: 10

icq: 572-744-280 Отправить сообщение для savra с помощью Yahoo
skype: savruhin.sergei
По умолчанию

Разобрался, сделал следующим образом( может кому-то пригодится):

Код:

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Grid.Triggers>
            <EventTrigger SourceName="button1" RoutedEvent="Button.Click">
                <BeginStoryboard>
                    <Storyboard>
                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="CollapsedGrid" Storyboard.TargetProperty="Visibility">
                            <DiscreteObjectKeyFrame KeyTime="0:0:0">
                                <DiscreteObjectKeyFrame.Value>
                                    <Visibility>Hidden</Visibility>
                                </DiscreteObjectKeyFrame.Value>
                            </DiscreteObjectKeyFrame>
                        </ObjectAnimationUsingKeyFrames>
                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="button2" Storyboard.TargetProperty="Visibility">
                            <DiscreteObjectKeyFrame KeyTime="0:0:0">
                                <DiscreteObjectKeyFrame.Value>
                                    <Visibility>Visible</Visibility>
                                </DiscreteObjectKeyFrame.Value>
                            </DiscreteObjectKeyFrame>
                        </ObjectAnimationUsingKeyFrames>
                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="button1" Storyboard.TargetProperty="Visibility">
                            <DiscreteObjectKeyFrame KeyTime="0:0:0">
                                <DiscreteObjectKeyFrame.Value>
                                    <Visibility>Hidden</Visibility>
                                </DiscreteObjectKeyFrame.Value>
                            </DiscreteObjectKeyFrame>
                        </ObjectAnimationUsingKeyFrames>
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>
            <EventTrigger SourceName="button2" RoutedEvent="Button.Click">
                <BeginStoryboard>
                    <Storyboard>
                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="CollapsedGrid" Storyboard.TargetProperty="Visibility">
                            <DiscreteObjectKeyFrame KeyTime="0:0:0">
                                <DiscreteObjectKeyFrame.Value>
                                    <Visibility>Visible</Visibility>
                                </DiscreteObjectKeyFrame.Value>
                            </DiscreteObjectKeyFrame>
                        </ObjectAnimationUsingKeyFrames>
                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="button2" Storyboard.TargetProperty="Visibility">
                            <DiscreteObjectKeyFrame KeyTime="0:0:0">
                                <DiscreteObjectKeyFrame.Value>
                                    <Visibility>Hidden</Visibility>
                                </DiscreteObjectKeyFrame.Value>
                            </DiscreteObjectKeyFrame>
                        </ObjectAnimationUsingKeyFrames>
                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="button1" Storyboard.TargetProperty="Visibility">
                            <DiscreteObjectKeyFrame KeyTime="0:0:0">
                                <DiscreteObjectKeyFrame.Value>
                                    <Visibility>Visible</Visibility>
                                </DiscreteObjectKeyFrame.Value>
                            </DiscreteObjectKeyFrame>
                        </ObjectAnimationUsingKeyFrames>
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>
        </Grid.Triggers>

        <Button Content="Свернуть" Height="23" HorizontalAlignment="Left" Margin="54,40,0,0" Name="button1" VerticalAlignment="Top" Width="75"/>
        <Button  Visibility="Hidden" Content="Подробности" Height="23" HorizontalAlignment="Left" Margin="54,40,0,0" Name="button2" VerticalAlignment="Top" Width="75" />
        <Grid x:Name="CollapsedGrid" Margin="40,97,69,37" Visibility="Visible">
            <Border Grid.ColumnSpan='2' BorderThickness='1' BorderBrush='#FFD4D4D4' Padding='10,5'>
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width='Auto'/>
                        <ColumnDefinition Width='6'/>
                        <ColumnDefinition Width='*'/>
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition Height='Auto'/>
                        <RowDefinition Height='5'/>
                        <RowDefinition Height='Auto'/>
                        <RowDefinition Height='5'/>
                        <RowDefinition Height='Auto'/>
                        <RowDefinition Height='*'/>
                    </Grid.RowDefinitions>
                    <TextBlock Text='gfgfgfgfgfgfgf:'/>
                    <StackPanel  Orientation='Horizontal' Grid.Column='2'>
                        <TextBlock Text='100000000000000000.00' Margin='0,0,6,0'/>
                        <TextBlock Text='eur'/>
                    </StackPanel>
                    <TextBlock Text='tttttttttttttt:'  Grid.Row='2'/>
                    <StackPanel  Orientation='Horizontal'  Grid.Row='2' Grid.Column='2'  >
                        <TextBlock Text='0'   Margin='0,0,6,0'/>
                        <TextBlock Text='eur'/>
                    </StackPanel>
                    <TextBlock Text='rrrrrrrrrrrrrrrrr:'  Grid.Row='4'/>
                    <StackPanel  Orientation='Horizontal'  Grid.Row='4' Grid.Column='2' >
                        <TextBlock Text='10000000'   Margin='0,0,6,0'/>
                        <TextBlock Text='eur'/>
                    </StackPanel>
                </Grid>
            </Border>
        </Grid>
    </Grid>
</Window>

savra вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование Uses kettanaito Общие вопросы Delphi 24 03.06.2012 21:03
Использование If Macklay PHP 4 14.05.2012 20:03
Использование БД glazik БД в Delphi 13 22.02.2012 09:14
Использование (...) в с++ Byurrer Общие вопросы C/C++ 12 06.04.2011 23:04
Использование while и while do prikolist Общие вопросы C/C++ 20 06.04.2009 18:40




08:22.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru