2015-08-27 3 views
0

У меня есть приложение, созданное в WPF. Мое приложение работает до 1440 пикселей с 1920 пикселей. Моя проблема в том, что я хочу, чтобы приложение отображало горизонтальную полосу прокрутки ТОЛЬКО, когда размер окна меньше 1440 пикселей.WPF Горизонтальная полоса прокрутки после изменения размера

В настоящее время, если я добавляю horizontalscrollbarvisibility = "Auto", приложение теряет текучесть. Мне нужно изменить размер с 1920 по 1440 год и только после этого иметь горизонтальную полосу прокрутки.

ответ

0

Вы можете сделать это с помощью триггера в вашем XAML, или вы можете сделать это в коде:

private void MainWindow_OnSizeChanged(object sender, SizeChangedEventArgs e) 
    { 
     var actualheigh = this.ActualHeight; 
     ScrollViewer.VerticalScrollBarVisibility = actualheigh < 500 ? ScrollBarVisibility.Visible : ScrollBarVisibility.Hidden; //ScrollViewer is the name of you scrollviewer 

    } 
0

Благодаря @NawedNabiZada.

Небольшая проблема заключалась в том, что, когда появлялась горизонталь, мы теряли текучесть. Таким образом, с некоторыми корректировками кода Nawed это работало как шарм:

 private void MainWindow_OnSizeChanged(object sender, SizeChangedEventArgs e) 
    { 

     var actualwidth = Application.Current.MainWindow.ActualWidth; 
     ScrollViewer.HorizontalScrollBarVisibility = actualwidth < 1439 ? ScrollBarVisibility.Visible : ScrollBarVisibility.Disabled; //ScrollViewer is the name of you scrollviewer 
     if (ScrollViewer.HorizontalScrollBarVisibility == ScrollBarVisibility.Visible) 
     { 
      this.ActiveItem.Width = 1099; 
     } 
     else 
     { 
      this.ActiveItem.Width = Double.NaN; 
     } 

    } 
Смежные вопросы