我沒有嘗試這樣做,但這樣的事情應該工作:
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());
}
}
}
使用
<local:MyGridViewRowPresenter NumberOfColumns="{Binding ElementName=myDataGrid, Path=Columns.Count, Mode=OneWay}" />
我做類似的東西標準網格,所以,而不是做行或列定義,然後添加列和行,我只是說列= somenumber,這將做到這一點。
我猜MyColumns(xaml)實際上是NumberOfColumns?雖然這可以工作,但它遠離我想要的。如果我調整DataGrid中的一列的大小,我需要GridViewRowPresenter中的列同時調整大小。你明白了。 – Natxo
是的,我糾正它。我不知道該怎麼做,我腦海中有些東西,但它會很難看:)。 – adminSoftDK