powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / EventTrigger to DataTrigger
6 сообщений из 6, страница 1 из 1
EventTrigger to DataTrigger
    #39510293
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет, не получается сделать анимацию в ответ на триггер.
Есть UserControl
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
<UserControl x:Class="TerminalCsharp.View.CalendarControlView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:local="clr-namespace:TerminalCsharp.View"
             mc:Ignorable="d" 
             d:DesignHeight="300" d:DesignWidth="300">

    <DockPanel>
        <DockPanel.Resources>
            <BooleanToVisibilityConverter x:Key="BoolToVis"/>
        </DockPanel.Resources>

        <Grid  DockPanel.Dock="Top" >

            <Grid.RowDefinitions >
                <RowDefinition Height="auto"/>
                <RowDefinition Height="auto"/>
                <RowDefinition Height="auto"/>
                <RowDefinition Height="auto" />
            </Grid.RowDefinitions>

            <StackPanel  Grid.Row="1" >
                <TextBlock    Style="{StaticResource bp_FIO }" >
                    <TextBlock.Effect>
                        <BlurEffect Radius="0" x:Name="blurEffect_BPFIO"/>
                    </TextBlock.Effect>
                </TextBlock>
            </StackPanel>

            <StackPanel Grid.Row="2"  >
                <TextBlock  Style="{StaticResource answer_textBlock }">
                    <TextBlock.Effect>
                        <BlurEffect Radius="0" x:Name="blurEffect_answer"/>
                    </TextBlock.Effect>
                </TextBlock>
            </StackPanel>

            <ItemsControl    Name="CalendarList"
                Grid.Row="3"                       
            Margin="20 0 20 0"
            ItemsSource="{Binding listOfDays}"
                 Style="{StaticResource ItemsControlStyleCalendar}">

                <ItemsControl.ItemsPanel>
                    <ItemsPanelTemplate>
                        <UniformGrid Rows="5" Columns="7"  />
                    </ItemsPanelTemplate>
                </ItemsControl.ItemsPanel>

                <ItemsControl.ItemTemplate >
                    <DataTemplate>
                        <Button  Style="{StaticResource CalendarButton}"  >
                            <TextBlock Text="{Binding dayOfMonth}" />
                        </Button>
                    </DataTemplate>
                </ItemsControl.ItemTemplate>

                <ItemsControl.Effect>
                    <BlurEffect Radius="0" x:Name="blurEffect"/>
                </ItemsControl.Effect>
            </ItemsControl>
        </Grid>

        <StackPanel  Style="{StaticResource AlertStackPanel}"
            DockPanel.Dock="Top"  >
            <StackPanel.Triggers>
                <EventTrigger RoutedEvent="Loaded">
                    <EventTrigger.Actions>
                        <BeginStoryboard>
                            <Storyboard >
                                
                               <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleX"
                                                 From="0"
                                                 Duration="0:00:0.9"
                                                 DecelerationRatio="0.3" />

                                <DoubleAnimation From="0" To="20" 
                                                 Duration="00:00:0.9" 
                                Storyboard.TargetName="blurEffect" 
                                Storyboard.TargetProperty="Radius"/>

                                <DoubleAnimation From="0" To="20" 
                                                 Duration="00:00:0.9" 
                                Storyboard.TargetName="blurEffect_BPFIO" 
                                Storyboard.TargetProperty="Radius"/>

                                <DoubleAnimation From="0" To="20"
                                Duration="00:00:0.9" 
                                Storyboard.TargetName="blurEffect_answer" 
                                Storyboard.TargetProperty="Radius"/>

                            </Storyboard>
                            
                        </BeginStoryboard>
                    </EventTrigger.Actions>
                </EventTrigger>                                
            </StackPanel.Triggers>
           
            <Border 
                         BorderThickness="0 2 0 0"
                         Height="6"
                         VerticalAlignment="Center" BorderBrush="White"  />

            <TextBlock  Margin="0 10 0 10"
                        Text="{Binding info_message}"
                        TextWrapping="Wrap" 
                        HorizontalAlignment="Center"/>

            <Border 
                         BorderThickness="0 2 0 0"
                         Height="6"
                         VerticalAlignment="Center" BorderBrush="White"  />
        </StackPanel>


        <Button Style="{StaticResource ToStartButton}"
                    DockPanel.Dock="Bottom" />
    </DockPanel>
</UserControl>



Мне нужно, чтобы вместо RoutedEvent можно было использовать DataTrigger. То есть при изменении свойства ViewModel запускалась представленная анимация.
Столкнулся со следующими проблемами-
DataTrigger у StackPanel установить нельзя- нужно переносить в стиль, но если переносишь в стиль, то нельзя использовать Storyboard.TargetName. Подскажите что-то.
...
Рейтинг: 0 / 0
EventTrigger to DataTrigger
    #39510429
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_sub,

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
    public static class RoutedEventExtension
    {

        public static readonly RoutedEvent DataContextChangedEvent = EventManager.RegisterRoutedEvent(
                "DataContextChanged", RoutingStrategy.Direct, typeof(RoutedEventHandler), typeof(RoutedEventExtension));

        public static bool GetRaiseDataContextChanged(DependencyObject obj)
        {
            return (bool)obj.GetValue(RaiseDataContextChangedProperty);
        }

        public static void SetRaiseDataContextChanged(DependencyObject obj, bool value)
        {
            obj.SetValue(RaiseDataContextChangedProperty, value);
        }

        // Using a DependencyProperty as the backing store for RaiseDataContextChanged.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty RaiseDataContextChangedProperty =
            DependencyProperty.RegisterAttached("RaiseDataContextChanged", typeof(bool), typeof(RoutedEventExtension), new PropertyMetadata(false, OnChanged));

        private static void OnChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            var uiElement = d as FrameworkElement;
            if (uiElement == null) throw new NotSupportedException();
            if ((bool)e.NewValue)
            {
                uiElement.DataContextChanged += FireDataContextChangeEvent;
            }
            else
            {
                uiElement.DataContextChanged -= FireDataContextChangeEvent;
            }

        }

        private static void FireDataContextChangeEvent(object sender, DependencyPropertyChangedEventArgs e)
        {
            var uiElement = sender as FrameworkElement;
            if (uiElement == null) throw new NotSupportedException();
            uiElement.RaiseEvent(new RoutedEventArgs(DataContextChangedEvent, uiElement));
        }
    }
...
Рейтинг: 0 / 0
EventTrigger to DataTrigger
    #39510437
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще у Binding есть свойство bool Binding.NotifyOnSourceUpdated и bool Binding.NotifyOnTargetUpdated
и маршр. события: Binding.SourceUpdatedEvent, Binding.TargetUpdatedEvent которые будут вызываться если включить свойства соответственно.
Оба события Bubble.
...
Рейтинг: 0 / 0
EventTrigger to DataTrigger
    #39511733
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes, спасибо за наводку получилось так- если кому понадобится пример
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
<UserControl x:Class="TerminalCsharp.View.CalendarControlView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:local="clr-namespace:TerminalCsharp.View"
             xmlns:routedextension="clr-namespace:TerminalCsharp.RoutedEvents"
             mc:Ignorable="d" 
             d:DesignHeight="300" d:DesignWidth="300">

    <DockPanel>
        <DockPanel.Resources>
            <BooleanToVisibilityConverter x:Key="BoolToVis"/>
        </DockPanel.Resources>

        <Grid  DockPanel.Dock="Top" >

            <Grid.RowDefinitions >
                <RowDefinition Height="auto"/>
                <RowDefinition Height="auto"/>
                <RowDefinition Height="auto"/>
                <RowDefinition Height="auto" />
            </Grid.RowDefinitions>

            <StackPanel  Grid.Row="1" >
                <TextBlock    Style="{StaticResource bp_FIO }" >
                    <TextBlock.Effect>
                        <BlurEffect Radius="0" x:Name="blurEffect_BPFIO"/>
                    </TextBlock.Effect>
                </TextBlock>
            </StackPanel>

            <StackPanel Grid.Row="2"  >
                <TextBlock  Style="{StaticResource answer_textBlock }">
                    <TextBlock.Effect>
                        <BlurEffect Radius="0" x:Name="blurEffect_answer"/>
                    </TextBlock.Effect>
                </TextBlock>
            </StackPanel>

            <ItemsControl    Name="CalendarList"
                Grid.Row="3"                       
            Margin="20 0 20 0"
            ItemsSource="{Binding listOfDays}"
            Style="{StaticResource ItemsControlStyleCalendar}">

                <ItemsControl.ItemsPanel>
                    <ItemsPanelTemplate>
                        <UniformGrid Rows="5" Columns="7"  />
                    </ItemsPanelTemplate>
                </ItemsControl.ItemsPanel>

                <ItemsControl.ItemTemplate >
                    <DataTemplate>
                        <Button  Style="{StaticResource CalendarButton}"  >
                            <TextBlock Text="{Binding dayOfMonth}" />
                        </Button>
                    </DataTemplate>
                </ItemsControl.ItemTemplate>

                <ItemsControl.Effect>
                    <BlurEffect Radius="0" x:Name="blurEffect"/>
                </ItemsControl.Effect>
            </ItemsControl>
        </Grid>

        <routedextension:RoutedStackPanel  Style="{StaticResource AlertStackPanel}"
             routedextension:RoutedStackPanel.RaiseShowPanelVisibleChanged="True"
             DockPanel.Dock="Top"  >
            
            <routedextension:RoutedStackPanel.Triggers>
                <EventTrigger RoutedEvent="routedextension:RoutedStackPanel.ShowPanelVisibleChanged">
                    <EventTrigger.Actions>
                        <BeginStoryboard>
                            <Storyboard >

                                <DoubleAnimation 
                                    Storyboard.TargetProperty="Opacity"
                                     To="1"
                                     Duration="0:00:0.9"
                                     DecelerationRatio="0.3" />


                                <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleX"
                                                 From="0"
                                                 Duration="0:00:0.9"
                                                 DecelerationRatio="0.3" />

                                <DoubleAnimation From="0" To="20" 
                                                 Duration="00:00:0.9" 
                                Storyboard.TargetName="blurEffect" 
                                Storyboard.TargetProperty="Radius"/>

                                <DoubleAnimation From="0" To="20" 
                                                 Duration="00:00:0.9" 
                                Storyboard.TargetName="blurEffect_BPFIO" 
                                Storyboard.TargetProperty="Radius"/>

                                <DoubleAnimation From="0" To="20"
                                Duration="00:00:0.9" 
                                Storyboard.TargetName="blurEffect_answer" 
                                Storyboard.TargetProperty="Radius"/>

                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger.Actions>
                </EventTrigger>


                <EventTrigger RoutedEvent="TouchDown">
                    <EventTrigger.Actions>
                        <BeginStoryboard>
                            <Storyboard >

                                <DoubleAnimation 
                                    Storyboard.TargetProperty="Opacity"
                                     From="1"
                                     To="0"
                                     Duration="0:00:0.9"
                                     DecelerationRatio="0.3" />


                                <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleX"
                                                 From="1"
                                                 To="0"
                                                 Duration="0:00:0.9"
                                                 DecelerationRatio="0.3" />

                                <DoubleAnimation From="20" To="0" 
                                                 Duration="00:00:0.9" 
                                Storyboard.TargetName="blurEffect" 
                                Storyboard.TargetProperty="Radius"/>

                                <DoubleAnimation From="20" To="0" 
                                                 Duration="00:00:0.9" 
                                                 
                                Storyboard.TargetName="blurEffect_BPFIO" 
                                Storyboard.TargetProperty="Radius"/>

                                <DoubleAnimation From="20" To="0"
                                Duration="00:00:0.9" 
                                Storyboard.TargetName="blurEffect_answer" 
                                Storyboard.TargetProperty="Radius"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger.Actions>
                </EventTrigger>

            </routedextension:RoutedStackPanel.Triggers>
           
            <Border 
                         BorderThickness="0 2 0 0"
                         Height="6"
                         VerticalAlignment="Center" BorderBrush="White"  />

            <TextBlock  Margin="0 10 0 10"
                        Text="{Binding info_message}"
                        DataContext="{Binding  Path=DataContext, 
                                   RelativeSource=
                                   {RelativeSource FindAncestor, 
                                   AncestorType={x:Type UserControl}}}"
                        TextWrapping="Wrap" 
                        HorizontalAlignment="Center"/>

            <Border 
                         BorderThickness="0 2 0 0"
                         Height="6"
                         VerticalAlignment="Center" BorderBrush="White"  />
        </routedextension:RoutedStackPanel>


        <Button Style="{StaticResource ToStartButton}"
                    DockPanel.Dock="Bottom" />
    </DockPanel>
</UserControl>

 <Style x:Key="AlertStackPanel" TargetType="{x:Type StackPanel }">
        <Setter Property="Orientation" Value="Vertical" />
        <Setter Property="Margin" Value="0 10 0 10" />
        <Setter Property="Background" Value="White" />
        <Setter Property="Opacity" Value="0"/>

        <Setter Property="DataContext" Value ="{Binding  Path=DataContext.show_hidden_panel, 
                                   RelativeSource=
                                   {RelativeSource FindAncestor, 
                                   AncestorType={x:Type UserControl}}}"/>

        <Setter Property="RenderTransform">
            <Setter.Value>
                <ScaleTransform ScaleX="1"/>
            </Setter.Value>
        </Setter>
    </Style>



Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
public class RoutedStackPanel : StackPanel
    {

        public static readonly RoutedEvent ShowPanelVisibleChangedEvent = EventManager.RegisterRoutedEvent(
                        "ShowPanelVisibleChanged", RoutingStrategy.Direct, typeof(RoutedEventHandler), typeof(RoutedStackPanel));

        public event RoutedEventHandler ShowPanelVisibleChanged
        {

        add { AddHandler(ShowPanelVisibleChangedEvent, value); }
        remove { RemoveHandler(ShowPanelVisibleChangedEvent, value);}

    }


        #region DP
        public static bool GetRaiseShowPanelVisibleChanged(DependencyObject obj)
        {
            return (bool)obj.GetValue(RaiseShowPanelVisibleChangedProperty);
        }

        public static void SetRaiseShowPanelVisibleChanged(DependencyObject obj, bool value)
        {
            obj.SetValue(RaiseShowPanelVisibleChangedProperty, value);
        }

        #endregion

        //Using a DependencyProperty as the backing store for RaiseShowPanelVisibleChanged.This enables animation, styling, binding, etc...
        public static readonly DependencyProperty RaiseShowPanelVisibleChangedProperty =
            DependencyProperty.RegisterAttached("RaiseShowPanelVisibleChanged", typeof(bool), typeof(RoutedStackPanel), new PropertyMetadata(false, OnChanged));


        private static void OnChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            var uiElement = d as FrameworkElement;
            if (uiElement == null) throw new NotSupportedException();

            if ((bool)e.NewValue)
            {
                uiElement.DataContextChanged += FireShowPanelVisibleChangeEvent;
            }
            else
            {
                uiElement.DataContextChanged -= FireShowPanelVisibleChangeEvent;
            }
        }



        private static void FireShowPanelVisibleChangeEvent(object sender, DependencyPropertyChangedEventArgs e)
        {
            var uiElement = sender as FrameworkElement;
            if (uiElement == null) throw new NotSupportedException();

            RoutedStackPanel b = sender as RoutedStackPanel;

            if (b != null)
            {
                bool dxt = Convert.ToBoolean (b.DataContext);

                if(Convert.ToBoolean(b.DataContext))
                    uiElement.RaiseEvent(new RoutedEventArgs(ShowPanelVisibleChangedEvent, uiElement));
            }
        }
    }



А можно пример, если есть, как с Binding.SourceUpdatedEvent можно работать.
...
Рейтинг: 0 / 0
EventTrigger to DataTrigger
    #39511866
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как то так:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
using System.ComponentModel;
using System.Timers;

namespace WpfApp11
{
    public class MainModel : INotifyPropertyChanged
    {
        public MainModel()
        {
            var timer = new Timer(2000);
            timer.Elapsed += Timer_Elapsed;
            timer.Start();

        }

        private void Timer_Elapsed(object sender, ElapsedEventArgs e)
        {
            if (Equals(Value, int.MaxValue))
            {
                Value = 0;
            }
            else
            {
                Value++;
            }
        }

        private int _value;
        public int Value
        {
            set
            {
                if (!Equals(_value, value))
                {
                    _value = value;
                    OnPropertyChanged(nameof(Value));
                }
            }
            get
            {
                return _value;
            }
        }

        public event PropertyChangedEventHandler PropertyChanged;

        protected void OnPropertyChanged(string propertyName)
        {
            var handler = PropertyChanged;
            handler?.Invoke(this, new PropertyChangedEventArgs(propertyName));
        }
    }
}



Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
<Application x:Class="WpfApp11.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:local="clr-namespace:WpfApp11"
             StartupUri="MainWindow.xaml">
    <Application.Resources>
        <local:MainModel x:Key="{x:Type local:MainModel}"/>
    </Application.Resources>
</Application>


Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
<Window x:Class="WpfApp11.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp11"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="525"
        DataContext="{StaticResource {x:Type local:MainModel}}">
    <Window.Resources>
        <Style x:Key="AnimatedBorder" TargetType="{x:Type Border}">
            <Setter Property="Background" Value="Blue"/>
            <Style.Triggers>
                <EventTrigger RoutedEvent="Binding.TargetUpdated">
                    <EventTrigger.Actions>
                        <BeginStoryboard>
                            <Storyboard>
                                <ColorAnimation To="Red" Duration="0:0:0.3" AutoReverse="True"
                                                Storyboard.TargetProperty="Background.(SolidColorBrush.Color)"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger.Actions>
                </EventTrigger>
            </Style.Triggers>

        </Style>
    </Window.Resources>
    <Grid>
        <Border Padding="5" HorizontalAlignment="Center" VerticalAlignment="Center"
                Style="{StaticResource AnimatedBorder}">
            <TextBlock Text="{Binding Value, NotifyOnTargetUpdated=True}"/>
        </Border>
    </Grid>
</Window>
...
Рейтинг: 0 / 0
EventTrigger to DataTrigger
    #39512331
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes,
спасибо. Что-то больше на wpf-форуме не сидит уже, по ходу wpf умер совсем.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / EventTrigger to DataTrigger
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]