2017-09-14 14 views
0

Syncfusion TaskBarをObservableCollectionにバインドし、TaskBarItemsのリストを取得しようとしています。Syncfusion TaskBar binding

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を使用します。 DependencyPropertyを作成せずに、子をバインドすることは可能ですか? –