2017-09-14 2 views
0

Ich versuche, eine Syncfusion TaskBar an eine ObservableCollection zu binden, und habe eine Liste von TaskBarItems. Verwenden von Code-Behind werden Elemente wie folgt hinzugefügt:Syncfusion TaskBar-Bindung

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); 

Diese 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> 

gibt mir eine Liste von TaskBarItems, mit Kopfzeile Vorname, und nichts in dem dehnbaren Bereich jeder TaskBarItem . Wie kann ich richtige Bindungen/Vorlagen erstellen, um sowohl den Header als auch die Daten im erweiterbaren Bereich anzuzeigen?

+0

Können Sie erklären, zu welchem ​​Zweck Sie TaskBar Kontrolle in Ihrer Anwendung verwenden? Vielleicht haben wir also eine bessere Idee, eine darauf basierende Lösung vorzuschlagen. Hinweis: Ich arbeite für Syncfusion. – user2700767

Antwort

1

Ich würde erwarten Sie in der Lage sein, ein ItemContainerStyle oder ein ContentTemplate zu definieren:

<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

Es hat die Hälfte der Arbeit getan, den Header gebunden. Aber TaskBarItem ist kein Inhaltssteuerelement - es hat keine Eigenschaft "Content", stattdessen verwendet es Children. Ist es möglich, Children zu binden, ohne eine DependencyProperty zu erstellen? –

Verwandte Themen