ich nicht versucht haben, aber so etwas wie dies funktionieren soll:
public class MyGridViewRowPresenter : GridViewRowPresenter
{
public static readonly DependencyProperty NumberOfColumnsProperty = DependencyProperty.Register("NumberOfColumns", typeof(int), typeof(MyGridViewRowPresenter), new PropertyMetadata(0));
public int NumberOfColumns
{
get { return (int)GetValue(NumberOfColumnsProperty); }
set { SetValue(NumberOfColumnsProperty, value); }
}
public override void EndInit()
{
base.EndInit();
for (var i = 0; i < NumberOfColumns; i++)
{
Columns.Add(new GridViewColumn());
}
}
}
Nutzung
<local:MyGridViewRowPresenter NumberOfColumns="{Binding ElementName=myDataGrid, Path=Columns.Count, Mode=OneWay}" />
habe ich etwas ähnliches wie ein Standard-Raster, also statt Zeilen- oder Spaltendefinitionen zu machen und dann Spalten und Zeilen hinzuzufügen, würde ich einfach sagen columns = somenumber und das würde es tun.
Ich denke MyColumns (Xaml) ist tatsächlich NumberOfColumns? Während das funktionieren könnte, ist es weit von dem, was ich will. Wenn ich die Größe einer Spalte im Datagrid verändere, muss die Spalte im GridViewRowPresenter gleichzeitig skaliert werden. Du hast die Idee. – Natxo
Ja, ich habe es korrigiert. Ich würde nicht wissen, wie es geht, ich habe etwas in meinen Gedanken, aber es wäre hässlich :). – adminSoftDK