我想将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#以编程方式更改列数?感谢...
答案 0 :(得分:0)
尝试放
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
并在Listview ScrollViewer.HorizontalScrollBarVisibility="Disabled"
<ListView ItemsSource="{Binding Customers}" ScrollViewer.HorizontalScrollBarVisibility="Disabled">