none
Wie kann man in einem verschachtelten WPF Datagrid auf die inneren Elemente zugreifen? RRS feed

  • Allgemeine Diskussion

  • Hallo zusammen,

    ich habe in einem WPF-Datagrid in den RowDetails ein weiteres Datagrid als DataTemplate eingebettet:

    <DataGrid Name="dataGridAussen">
    
       <DataGrid.Columns>
          <DataGrid.TextColumn ...>
          ...
       </DataGrid.Columns>
       <DataGrid.RowDetailsTemplate>
           <DataTemplate>
              <DataGrid Name="dataGridInnen">
                 <DataGrid.Columns>
                    <DataGrid.TextColumn ...>
                     ...
    
                 </DataGrid.Columns>
              </Datagrid>
           </DataTemplate>
       </DataGrid.RowDetailsTemplate>
    </Datagrid>

    Ich möchte nun aus dem inneren Datagrid die SeletedItems.Count und SelectedItem Properties abfragen z.B. mit Hilfe von Convertern.

    Versuche ich nun in einem Converter mit Binding auf die Properties zuzugreifen, wird kein Event gefeuert:

    <MultiBinding Converter="{StaticResource SetEnabledConverter}" Mode="OneWay">
       <Binding ElementName="dataGridInnen"/>
       <Binding ElementName="dataGridInnen" Path="SelectedItem" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged" NotifyOnSourceUpdated="True" BindsDirectlyToSource="True"/>
    </MultiBinding>

    Habe ich etwas vergessen, oder muss ich etwas anderes machen?

    Gruß Jürgen

    Donnerstag, 18. August 2016 08:21

Alle Antworten

  • Hallo Jürgen,

    Um auf die SelectedItems-Eigenschaft des übergeordneten DataGrids zuzugreifen, kannst Du eine RelativeSource verwenden. Sieh Dir folgende Beispiele an:
    DataGrid binding in DataTemplate
    MVVM WPF Datagrid TemplateColumn Combobox Selected Item Not Working

    Gruß,
    Dimitar


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Freitag, 19. August 2016 08:17
    Moderator
  • Hallo Dimitar,

    sorry für die späte Antwort, aber ich war ein Weile anderweitig beschäftigt.

    Ich möchte nicht auf ein übergeordnetes DataGrid zugreifen, sondern von einem übergeordneten Control auf ein untergeordnetes DataGrid, welches in einem DataTemplate abgelegt ist.

    Mittlerweile habe ich herausgefunden, dass es wohl ohne DependencyProperty nicht geht oder gibt es keine andere Möglichkeit mit XAML???

    Gruß Jürgen

    Freitag, 2. September 2016 11:00