私はlistview
とgridview
を持っています。私はgridview
の私の列の列ヘッダーを空にする必要がありますが、他の列はヘッダーを持っています。しかし、GridViewColumn
にheader=""
を設定すると、その列の幅が空の列のヘッダーの幅に収まるように縮小され、列が見えなくなります。私は列のwidth="auto"
をテストしましたが、動作しません。この列を強制的にセルの幅に合わせて幅を設定するにはどうしたらいいですか?そのヘッダが空でなければならないグリッドビューの列の幅が列の内容に適合しません
カラム:
<GridViewColumn>
<GridViewColumn.Header>
<GridViewColumnHeader Padding="2,2,2,0" VerticalContentAlignment="Bottom" ClickMode="Press" />
</GridViewColumn.Header>
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListViewItem}}, Converter={StaticResource IndexConverter}}" FontWeight="Bold" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
コンバータ:
public class IndexConverter : IValueConverter
{
public object Convert(object value, Type TargetType, object parameter, CultureInfo culture)
{
ListViewItem item = (ListViewItem)value;
ListView listView = ItemsControl.ItemsControlFromItemContainer(item) as ListView;
int index = listView.ItemContainerGenerator.IndexFromContainer(item) + 1;
return index.ToString();
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { return new object(); }
}
おかげ
ここにいくつかのXAMLを追加します。 –
' のような単純な例では、列の内容の幅は自動的に!また、 'width =" auto "'がセットされているか 'Header =" "'。簡単な例から始めるか、コードを提供するのがよいでしょう! –
WPFGermany