powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Сдвиг WebBrowser путём расширения других компонентов формы
2 сообщений из 2, страница 1 из 1
Сдвиг WebBrowser путём расширения других компонентов формы
    #37032358
Degun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На форме лежат кнопка и под ней WebBrowser. Необходимо, чтобы по щелчку по кнопке WebBrowser плавно съезжал бы вниз. Я сделал так, что в обработчике щелчка запускается анимированное масштабирование кнопки. Но этот вариант не работает. Почему?

XAML
Код: plaintext
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.
<Window x:Class="WpfApplication2.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">
  <Window.Resources>
    <Storyboard x:Key="ScaleBrowserUpToDown" TargetName="BrowserUpDownMover">
      <DoubleAnimation Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleY)"
                        Duration="0:0:0.6" From="1" To="4" />
    </Storyboard>
    <Storyboard x:Key="ScaleBrowserDownToUp" TargetName="BrowserUpDownMover">
      <DoubleAnimation Storyboard.TargetProperty="RenderTransform.(ScaleTransform.ScaleY)"
                       Duration="0:0:0.6" From="4" To="1"/>
    </Storyboard>
  </Window.Resources>
  <Grid>
    <Grid.RowDefinitions>
      <RowDefinition Height="Auto" />
      <RowDefinition Height="1*" />
    </Grid.RowDefinitions>
    <Button Grid.Row="0" Name="BrowserUpDownMover" Height="20" Click="BrowserUpDownMover_Click">
      <Button.RenderTransform>
        <ScaleTransform ScaleX="1" ScaleY="1"/>
      </Button.RenderTransform>
    </Button>
    <WebBrowser Grid.Row="1" Name="ContentViewBrowser" Source="C:\Temp\Error.html">
      <WebBrowser.RenderTransform>
        <ScaleTransform ScaleX="1" ScaleY="1"/>
      </WebBrowser.RenderTransform>
    </WebBrowser>
  </Grid>
</Window>


C#
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
namespace WpfApplication2
{
  /// <summary>
  /// Interaction logic for MainWindow.xaml
  /// </summary>
  public partial class MainWindow : Window
  {
    public MainWindow()
    {
      InitializeComponent();

    }

    private void BrowserUpDownMover_Click(object sender, RoutedEventArgs e)
    {
      ScaleTransform trans = BrowserUpDownMover.RenderTransform as ScaleTransform;
      if (trans != null && trans.ScaleY >  1 )
        BrowserUpDownMover.BeginStoryboard((Storyboard)this.Resources["ScaleBrowserDownToUp"]);
      else
        BrowserUpDownMover.BeginStoryboard((Storyboard)this.Resources["ScaleBrowserUpToDown"]);
    }
  }
}
...
Рейтинг: 0 / 0
Сдвиг WebBrowser путём расширения других компонентов формы
    #37033962
Degun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашёл такое решение задачи:

Код: plaintext
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.
<Window x:Class="WpfApplication2.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">
 <Window.Resources>
 <Storyboard x:Key="ScaleBrowserUpToDown" TargetName="BrowserUpDownMover">
  <DoubleAnimation Storyboard.TargetProperty="Height"
      Duration="0:0:0.6" From="20" To="40" />
 </Storyboard>
 <Storyboard x:Key="ScaleBrowserDownToUp" TargetName="BrowserUpDownMover">
  <DoubleAnimation Storyboard.TargetProperty="Height"
      Duration="0:0:0.6" From="40" To="20"/>
 </Storyboard>
 </Window.Resources>
 <Grid>
 <Grid.RowDefinitions>
  <RowDefinition Height="Auto" />
  <RowDefinition Height="1*" />
 </Grid.RowDefinitions>
 <Button Grid.Row="0" Name="BrowserUpDownMover" Height="20" Click="BrowserUpDownMover_Click">
 </Button>
 <WebBrowser Grid.Row="1" Name="ContentViewBrowser" Source="C:\Temp\Error.html">
 </WebBrowser>
  </Grid>
</Window>

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
using System;
using System.Windows;
using System.Windows.Media;
using System.Windows.Media.Animation;

namespace WpfApplication2
{
  public partial class MainWindow : Window
  {
    public MainWindow()
    {
      InitializeComponent();

    }

    private void BrowserUpDownMover_Click(object sender, RoutedEventArgs e)
    {
      if (BrowserUpDownMover.Height > 20)
        BrowserUpDownMover.BeginStoryboard((Storyboard)this.Resources["ScaleBrowserDownToUp"]);
      else
        BrowserUpDownMover.BeginStoryboard((Storyboard)this.Resources["ScaleBrowserUpToDown"]);
    }
  }
}
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Сдвиг WebBrowser путём расширения других компонентов формы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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