您好我想创建具有可配置列的控件(类似于dataGrid但具有其他功能)。在xaml中我希望有这样的东西:
<MyGrid ItemsSource="{Binding Orders}">
<MyGrid.Columns>
<MyGridTextColumn Header="Serial Number" Value="{Binding Id}" />
<MyGridTextColumn Header="Customer" Value="{Binding Customer}" />
<MyGridCheckBoxColumn Header="Is active" Value="{Binding IsActive}" />
</MyGrid.Columns>
</MyGrid>
我在后台代码属性中创建了对象列表,我尝试了很多东西,但是setter永远不会运行。
public partial class MyGrid : UserControl
{
private List<Object> _columns;
public List<Object> Columns
{
get { return _columns; }
set
{
_columns = value;
}
}
}
这是我需要做的其他事情来添加这些属性吗?我也尝试过DependencyProperty,但它也不起作用。
答案 0 :(得分:0)
请记住,在创建列列表时,不会在用列填充列时调用setter。
xaml
<MyGrid.Columns>
<MyGridTextColumn Header="Serial Number" Value="{Binding Id}" />
<MyGridTextColumn Header="Customer" Value="{Binding Customer}" />
<MyGridCheckBoxColumn Header="Is active" Value="{Binding IsActive}" />
</MyGrid.Columns>
只是将列添加到现有集合中,不会创建新列。