2017-09-14 61 views
0

我试图绑定Syncfusion TaskBar ObservableCollection,并有一个TaskBarItems的列表。 使用代码隐藏,项目被添加像这样:Syncfusion任务栏绑定

TaskBar taskBar = new TaskBar(); 
TaskBarItem taskBarItem1 = new TaskBarItem(); 
taskBarItem1.Header = "TaskBarItem1"; 
TextBlock textBlock1 = new TextBlock(); 
textBlock1.Text = "This TaskBar that have a TaskBarItem."; 
taskBarItem1.Items.Add(textBlock1);   
taskBar.Items.Add(taskBarItem1); 

此XAML:

<syncfusion:TaskBar Grid.Row="1" 
       VerticalAlignment="Stretch" 
       ItemsSource="{Binding Path=DataContext.Categories, RelativeSource={RelativeSource AncestorType=localV:MainWindow}}"> 
    <syncfusion:TaskBar.ItemTemplate> 
     <DataTemplate> 
      <TextBlock Text="{Binding Path=FirstName}"/> 
     </DataTemplate> 
    </syncfusion:TaskBar.ItemTemplate> 
</syncfusion:TaskBar> 

给我TaskBarItems在任何TaskBarItem的扩张区列表,表头显示名字,并没有什么。我如何使适当的绑定/模板在可扩展区域中看到标题和数据?

+0

你能为你正在使用的应用程序任务栏控制的目的是什么解释?所以我们可能有更好的主意,建议基于它的解决方案。 注意:我为Syncfusion工作。 – user2700767

回答

1

我希望你能定义一个ItemContainerStyleContentTemplate

<syncfusion:TaskBar Grid.Row="1" 
       VerticalAlignment="Stretch" 
       ItemsSource="{Binding Path=DataContext.Categories, RelativeSource={RelativeSource AncestorType=localV:MainWindow}}"> 
    <syncfusion:TaskBar.ItemContainerStyle> 
     <Style TargetType="syncfusion:TaskBarItem"> 
      <Setter Property="Header" Value="{Binding Path=FirstName}" /> 
      <Setter Property="Content"> 
       <Setter.Value> 
        <TextBlock>This TaskBar that have a TaskBarItem</TextBlock> 
       </Setter.Value> 
      </Setter> 
     </Style> 
    </syncfusion:TaskBar.ItemContainerStyle> 
</syncfusion:TaskBar> 
+0

它做了一半的工作,绑定标题。但是TaskBarItem不是一个Content控件 - 它没有'Content'属性,它使用Children来代替。是否可以绑定Children,而不创建DependencyProperty? –