none
如何定义暴露自定义控件的子控件 RRS feed

  • 问题

  • 我要做一个复合控件,举例有TreeView+DataGrid组成,并想让用户可以设置TreeView和DataGrid的一些属性,如果每个都以依赖属性方式暴露给用户,需要写很多依赖属性,因为这两种控件的属性太多,我希望诸如这样:
    用户控件

    <UserControl>
            <StackPanel>
                    <TreeView />
                    <DataGrid />
            </StackPanel>
    </UserControl>
    使用用户控件:
    <Window>
            <loc:MyUserControl>
                    <loc:MyUserControl.TreeView Background="Red" />
                    <loc:MyUserControl.DataGrid Background="Green" />
            </loc:MyUserControl>
    </Window>

    代码表示意思,请问在UserControl中我该怎么暴露TreeView和DataGrid给用户,用户如何在外部设置属性?是不是一定要以依赖属性方式,如:TreeViewBackground、DataGridBackground这样来设置(这样就太杯具了)?



    Sonny.Lin

    2013年6月14日 10:40

答案

全部回复