gpt4 book ai didi

c# - ListView 列宽自动

转载 作者:行者123 更新时间:2023-11-30 19:41:33 25 4
gpt4 key购买 nike

我在 XAML - WPF 浏览器应用程序 - 页面中编写了代码,只有一个 Listview 和一个 button 用于将新数据添加到 listview (来自其他文件),我试图在按下按钮时使第一列自动调整大小,我使用的是 Visual Studio c# 2010。

我在后面的代码中使用了下面的方法,但是 AutoResizeColumns 不会被识别并报错。

不幸的是,之前建议的解决方案均不适用于我。

背后的代码

public partial class Page1 : Page, INotifyPropertyChanged
{

public Page1()
{

InitializeComponent();
this.DataContext = new Page1Model();

}

private void TestListe_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
}

public event PropertyChangedEventHandler PropertyChanged;

private void Button1_Click(object sender, RoutedEventArgs e)

{
TestListe1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
}

}

XAML

<Grid>

<Grid.RowDefinitions>
<RowDefinition Height="3*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<ListView Name="TestListe1" Margin="68,22,421,8" FontSize="12" >

<ListView.View>
<GridView>
<GridView.Columns>
<GridViewColumn Width="auto"> <GridViewColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="ST1" Margin="10,0,10,1"/>
</DataTemplate>
</GridViewColumn.HeaderTemplate>
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding One}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>

</GridView.Columns>
</GridView>
</ListView.View>
</ListView>

<Button Name="Button1" Grid.Row="1" Height="27" Width="95" Margin="262,24,444,74" Click="Button1_Click" />

</Grid>

最佳答案

AutoResizeColumns来自命名空间 System.Windows.Forms。我不确定这是否适用于 WPF。但是您可以将列的宽度设置为 NAN 以使其调整大小

在您的 XAML 中,如果您按如下方式命名您的 GridView:

<GridView x:Name="dataGridView">

然后你可以用这个调整所有列的大小

 foreach (GridViewColumn c in dataGridView.Columns)
{
c.Width = 0; //set it to no width
c.Width = double.NaN; //resize it automatically
}

关于c# - ListView 列宽自动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19496893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com