我试图为我的功能区提供数据模板.
功能区声明如下,并附加了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应该解决的问题?)怎么办?
最好的祝福