| 

.NET C# Java Javascript Exception

2
Hallo,
Ich möchte, dass sich die Breite des GridViewColumns nicht an der Breite des Headers, sondern an der Max.-Breite des Inhalts der Spalte anpasst.

Im Code-Behind geht mit dem Anpassen an die Header-Breite (Width = double.NaN), aber wie bekomme ich das mit dem Anpassen des Inhalts hin ?
News:
22.03.2012
Gepro 1 1 1
1 Antwort
0
Hi,

hier ein Link zu SO, dort wird etwas Ähnliches diskutiert. Vlt. ist ja was für Dich dabei.

EDIT :
Ich fürchte, ich habe immer noch nicht genau verstanden, was Du erreichen möchtest. Ein GridView passt die Spaltenbreite automatisch immer dem breitesten Inhalt an (wenn das der Header ist, dann eben an die Headerbreite). Ich habe ein Beispiel gebastelt, das das zeigt. Sollte es Dir nicht weiterhelfen, so haben wir wenigstens Code, mit dem wir weiterarbeiten können.

XAML einfach in ein Window einfügen:
<ListView ItemsSource="{Binding}">
<ListView.View>
<GridView x:Name="gridView">
<GridViewColumn Header="Column 0" DisplayMemberBinding="{Binding Data0}"/>
<GridViewColumn Header="Column 1" DisplayMemberBinding="{Binding Data1}"/>
</GridView>
</ListView.View>
</ListView>

CodeBehind:
public partial class MainWindow : Window
{
public class TestData
{
public string Data0 { get; set; }
public string Data1 { get; set; }
}

public MainWindow()
{
InitializeComponent();

var testData = new[] {
new TestData() { Data0 ="Test1", Data1="Test1" },
new TestData() { Data0 ="Very long text in column 0 Test2", Data1="Test2" }};
this.DataContext = testData;
}
}


Wenn ich das ausführe, wird die Breite der ersten Spalte an den breitesten Inhalt angepasst, die zweite Spalte an die Breite des Headers (weil dieser den breitesten Inhalt darstellt). Hilft Dir das weiter?

Florian
23.03.2012
ffordermaier 8,4k 3 9
Nein, leider nichts dabei.
Gepro 23.03.2012
Ok, dann editiere doch bitte Deine Frage und füge ein Code-Beispiel ein (so wie Du es jetzt machst). Ich schaus mir dann gerne an...
ffordermaier 23.03.2012
Ich "mache" es ja noch gar nicht. Ich wollte ja wissen, wie es geht

Beispiel:
GridViewColumn column = GridView.Columns[0];
column.Width = ?????
Gepro 23.03.2012
Habe meine Antwort überarbeitet. Kommst Du damit weiter?
ffordermaier 24.03.2012

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH