调整大小后的 WPF 水平滚动条

WPF Horizontal Scrollbar after resize

我在 WPF 中构建了一个应用程序。 我的应用程序从 1920 像素流畅地下降到 1440 像素。 我的问题是我希望应用仅在 window 大小小于 1440 像素时显示水平滚动条。

目前,如果我添加 horizo​​ntalscrollbarvisibility="Auto" ,应用程序会失去流动性。我需要将它的大小从 1920 调整到 1440,然后才具有水平滚动条。

您可以在 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

    }

感谢@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;
        }

    }