none
Необходимо событие для Scroll на я зыке C#. Пожалуйста, помогите. RRS feed

  • Вопрос

  • В wpf-приложении для веб-браузера необходимо создать Horisontal ScrollBar. Сам объект на XAML есть, его событие тоже, но что писать внутри кода события неизвестно. C#:
    private void OnScroll(object sender, EventArgs e)
    {
       // Что сюда писать?
    }
    17 сентября 2013 г. 15:20

Ответы

Все ответы

  • то что будет происходить например при прокручивании:

    можно в конце страницы показать кнопочку "Go TOP"

    можно сделать плавный скроллинг

    можно сделать скроллинг по фрейму

    можно прятать header-ы или что нибудь типа минимального меню (например тут !не реклама!) используют это событие

    а писать нужно туда саму реализацию того что вы хотите из выше описанных потенциальных фичей

    17 сентября 2013 г. 15:30
  • Это я знаю. Мне надо то, как эти реализации написать в C#.
    17 сентября 2013 г. 15:32
  • полагаю в самом  c# это сделать сложнее, проще с использование Java

    например это скролит по порциям

    private void OnScroll(object sender, EventArgs e)
            {
                int pixelHeight;
                using (Graphics graphics = Graphics.FromHwnd(IntPtr.Zero))
                {
                    pixelHeight = (int) (e.Delta*graphics.DpiY/96.0);
                }
                if (GoogleChrome.Document != null)
                {
                    _currentScrollPosition = -pixelHeight;
                    string scrollJavaScript = "javascript:var s = function() { window.scrollBy(0," +
                                              _currentScrollPosition.ToString() + "); }; s();";
                    GoogleChrome.Navigate(scrollJavaScript);
                }
            }
    XAML:    <wfi:WindowsFormsHost x:Name="winFormHost" IsEnabled="False" DockPanel.Dock="Top"  Width="{Binding Converter={StaticResource ExpanderWidthConverter},ElementName=mainGrid,Path=ActualWidth}" VerticalAlignment="Stretch"  >              <Gecko:GeckoWebBrowser ></Gecko:GeckoWebBrowser>   </wfi:WindowsFormsHost>


    17 сентября 2013 г. 15:47
  • Огромное спасибо за уделенное внимание. Но как же я не воспользовался таким замечательным объектом, как:
    XAML
    <ScrollViewer VerticalScrollBarVisibility="Auto" HorisontalScrollBarVisibility="Auto">
      ...
    </ScrollViewer>

    Извините.
    17 сентября 2013 г. 17:12
  • Огромное спасибо за уделенное внимание. Но как же я не воспользовался таким замечательным объектом, как:
    XAML
    <ScrollViewer VerticalScrollBarVisibility="Auto" HorisontalScrollBarVisibility="Auto">
      ...
    </ScrollViewer>

    Извините.

    Если задача решена, не забудьте поставить отметку

    17 сентября 2013 г. 21:52