创建具有集合属性的控件

问题描述 投票:0回答:0

我尝试开发一个简单的 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();

...
}
xaml data-binding controls winui
© www.soinside.com 2019 - 2024. All rights reserved.