我在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>
答案 0 :(得分:8)
AutoResizeColumns
来自命名空间System.Windows.Forms
。我不确定这是否适用于WPF。但您可以将列的宽度设置为NAN
以使其调整大小
如果您按照以下方式命名GridView,请在XAML
中填写:
<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
}