小编Lam*_*der的帖子

如何使用ItemsSource和DataTemplates从数据对象呈现功能区

我试图为我的功能区提供数据模板.

功能区声明如下,并附加了ItemTemplate.

<r:Ribbon Name="RibbonMain"
          ItemTemplate="{StaticResource HomeRibbonTabTemplate}">
</r:Ribbon>
Run Code Online (Sandbox Code Playgroud)

Datatemplate如下:

<Window.Resources>
    <DataTemplate DataType="{x:Type local:RibbonContainer}" 
                  x:Key="HomeRibbonTabTemplate">
        <r:RibbonTab Header="{Binding Path=HeaderName}">
            <r:RibbonGroup Header="{Binding Path=GroupName}">
            </r:RibbonGroup>
        </r:RibbonTab>
    </DataTemplate>
</Window.Resources>
Run Code Online (Sandbox Code Playgroud)

然后我附上ItemsSource:

    public MainWindow()
    {
        InitializeComponent();

        var RibbonTabData = new ObservableCollection<RibbonContainer>();
        RibbonTabData.Add(new RibbonContainer("HeaderName", "GroupName"));
        RibbonMain.ItemsSource = RibbonTabData;
    }
Run Code Online (Sandbox Code Playgroud)

最后是类:(其中只包含两个字符串字段)

class RibbonContainer
{
    public string HeaderName
    {
        get;
        set;
    }

    public string GroupName
    {
        get;
        set;
    }

    public RibbonContainer(string _headername, string _groupname)
    {
        HeaderName = _headername;
        GroupName = _groupname;
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到了在标题标题中显示完全限定类名的不起眼的结果,并且ribbongroup也没有显示.(这是datatemplate应该解决的问题?)怎么办?

最好的祝福

c# wpf binding

1
推荐指数
1
解决办法
1234
查看次数

标签 统计

binding ×1

c# ×1

wpf ×1