2014-01-03 6 views
0

Я стараюсь использовать RowHeader в wpfDataGrid без везения.Wpf DataGrid RowHeader

Я после этого post

Мой код XAML

<Grid> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="3*"/> 
      <ColumnDefinition Width="*"/> 
     </Grid.ColumnDefinitions> 
     <DataGrid Grid.Column="0" ItemsSource="{Binding Path=Results}" Margin="5"> 
       <DataGrid.RowHeaderTemplate> 
        <DataTemplate> 
        <TextBlock Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, 
            AncestorType={x:Type DataGridRow}}, 
            Path=Item.Item1}"/> 
        </DataTemplate> 
       </DataGrid.RowHeaderTemplate> 
       <DataGrid.Columns> 
       <DataGridTextColumn Header="LArmAngle" 
          Binding="{Binding Item2.LArmAngle}" /> 
        <DataGridTextColumn Header="PropellerAngle" 
          Binding="{Binding Item2.PropellerAngle}" /> 
      </DataGrid.Columns> 
     </DataGrid> 
... 
</Grid> 

указано свойство Результаты следующим

public ObservableCollection<Tuple<String, GeometryStateViewModel>> Results 
{ 
    get; 
    set; 
} 

Я вижу только две колонки LArmAngle и PropellerAngle является результирующая DataGrid. Я хотел бы видеть следующее:

  LArmAngle PropellerAngle 
aStringHere  1   0.3 
aStringHere  1   0.3 
+0

Вы должны определить два столбца только. Итак, что еще вы ожидаете? –

+0

RowHeader, заполненный для строки в Item.Item1? –

+0

Ваш код работает для меня – Shoe

ответ

1

я не смог найти, почему я не могу отобразить RowHeader. В качестве обходного пути я добавил дополнительный столбец в сетке данных, чтобы отобразить жало, которое я хотел.

...  
<DataGrid Grid.Column="0" ItemsSource="{Binding Path=Results}" Margin="5"> 
       <DataGrid.Columns> 
        <DataGridTextColumn Header="Algorithm" 
           Binding="{Binding Item1}" /> 
        <DataGridTextColumn Header="LArmAngle" 
           Binding="{Binding Item2.LArmAngle}" /> 
        <DataGridTextColumn Header="PropellerAngle" 
           Binding="{Binding Item2.PropellerAngle}" /> 
       </DataGrid.Columns> 
</DataGrid> 
... 
1

Я столкнулся с этой проблемой. «HeaderVisibility» может не соответствовать столбцу.

<DataGrid 
     Grid.Column="0" 
     ItemsSource="{Binding Path=Results}" 
     Margin="5" 
     HeadersVisibility="All" 
     > 

 Смежные вопросы

  • Нет связанных вопросов^_^