Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Сдвиг WebBrowser путём расширения других компонентов формы / 2 сообщений из 2, страница 1 из 1
23.12.2010, 18:24
    #37032358
Degun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сдвиг WebBrowser путём расширения других компонентов формы
На форме лежат кнопка и под ней 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
24.12.2010, 14:43
    #37033962
Degun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сдвиг WebBrowser путём расширения других компонентов формы
Нашёл такое решение задачи:

Код: 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
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Сдвиг WebBrowser путём расширения других компонентов формы / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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