Click here to Skip to main content
15,891,943 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I have a DataGrid with ItemsSource and columns with bound values.
For some reason the "select all button" is loading last, so firstly the column headers are aligned to the left and afterwards the "select all button" appears. How can I fix that?

http://i.stack.imgur.com/EhesT.png[^]

XML
<DataGrid ItemsSource="{Binding ReferenceData}"
                         IsReadOnly="True"
                         >

                   <DataGrid.RowHeaderTemplate>
                       <DataTemplate>
                           <TextBlock Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type DataGridRow}},
                               Path=Item.RowHeader}"
                                      HorizontalAlignment="Stretch"
                                      MinWidth="55"/>
                       </DataTemplate>
                   </DataGrid.RowHeaderTemplate>

                   <DataGrid.Columns>
                       <!--m-->
                       <DataGridTextColumn Binding="{Binding Path=m, IsAsync=True, StringFormat='{}{0:0.##}'}" Header="m"/>

                       <!--α-->
                       <DataGridTextColumn Binding="{Binding Path=a, IsAsync=True}" Header="α" />

                       <!--h-->
                       <DataGridTextColumn Binding="{Binding Path=h, IsAsync=True, StringFormat='{}{0:0.#}'}" Header="h" />

                       <!--D1-->
                       <DataGridTextColumn Binding="{Binding Path=D1, IsAsync=True, StringFormat='{}{0:F0}'}">
                           <DataGridTextColumn.Header>
                               <StackPanel Orientation="Horizontal">
                                   <TextBlock>
                                       D
                                       <InlineUIContainer BaselineAlignment="Subscript">
                                           <TextBlock Text="1"/>
                                       </InlineUIContainer>
                                   </TextBlock>
                               </StackPanel>
                           </DataGridTextColumn.Header>
                       </DataGridTextColumn>

                       <!--D2-->
                       <DataGridTextColumn Binding="{Binding Path=D2, IsAsync=True, StringFormat='{}{0:F0}'}">
                           <DataGridTextColumn.Header>
                               <StackPanel Orientation="Horizontal">
                                   <TextBlock>
                                       D
                                       <InlineUIContainer BaselineAlignment="Subscript">
                                           <TextBlock Text="2"/>
                                       </InlineUIContainer>
                                   </TextBlock>
                               </StackPanel>
                           </DataGridTextColumn.Header>
                       </DataGridTextColumn>

                   </DataGrid.Columns>

               </DataGrid>
Posted
Updated 26-Feb-15 18:55pm
v2
Comments
Matej Hlatky 27-Feb-15 2:57am    
Is is necessary to have async bindings on every column?
shno 27-Feb-15 3:39am    
Without async it didn't work as I expected. I added Async, but it still didn't give the result.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900