繁体   English   中英

C#WPF ListView设置UniformGrid列

[英]C# WPF ListView Set UniformGrid Columns

我想将ListView中的列数更改为屏幕指标,为此,我正在使用以下代码。

    private void Window_SizeChanged(object sender, SizeChangedEventArgs e)
    {
        this.SizeChanged += OnWindowSizeChanged;
    }


    protected void OnWindowSizeChanged(object sender, SizeChangedEventArgs e)
    {
        double newWindowHeight = e.NewSize.Height;
        double newWindowWidth = e.NewSize.Width;
        double prevWindowHeight = e.PreviousSize.Height;
        double prevWindowWidth = e.PreviousSize.Width;

        LabelXY.Content = newWindowHeight.ToString() + newWindowWidth.ToString();
    }

并用xaml设置列;

    <UniformGrid Columns="5"/>

在此处输入图片说明

一切都很好,共有5列。

在此处输入图片说明

但是,如果窗口宽度小于1200像素,我需要4列。

首先来到我的脑海,使其具有约束力,然后我失败了。

     <UniformGrid Columns="{Binding Path=ColumnNum}"/>

因此,如果未绑定,是否可以使用C#以编程方式更改列数? 谢谢...

试穿

<ListView.ItemsPanel>
    <ItemsPanelTemplate>
        <WrapPanel Orientation="Horizontal"/>
    </ItemsPanelTemplate>
</ListView.ItemsPanel>

并且在Listview ScrollViewer.HorizontalScrollBarVisibility="Disabled"

<ListView  ItemsSource="{Binding Customers}"  ScrollViewer.HorizontalScrollBarVisibility="Disabled">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM