我尝试开发一个简单的 DataGridView 控件。但我有一个问题。
我的列集合不是树的一部分,DataGridViewTextBlockColumn 类“仅”继承自 DependencyObject 而不是 FrameworkElement。所以绑定不起作用。使绑定有效的正确方法是什么?
<UserControl Name="UC">
<DataGridView ItemsSource="{Binding Path=GridItems}">
<DataGridView.Columns>
<DataGridViewTextBlockColumn Header="Name" Width="{Binding ElementName=UC, Path=DataContext.GridWidth}" />
<DataGridViewTextBlockColumn Header="Count" Width="{Binding ElementName=UC, Path=DataContext.GridWidth}" />
</DataGridView.Columns>
</DataGridView>
public class DataGridView : ListBox
{
...
public ObservableCollection<DataGridViewTextBlockColumn> Columns { get; } = new();
...
}