2016-07-19 2 views
0

Я использую MyToolkit DataGrid в моем приложении Windows, найденном здесь https://github.com/MyToolkit/MyToolkit/wiki/DataGrid. Я хочу удалить заголовок из datagrid. Как я могу это сделать? Может ли кто-нибудь сказать мне ... Спасибо заранее.Как удалить заголовок MyToolkit Datagrid?

Вот мой код

 <controls:DataGrid.RowStyle> 
      <Style TargetType="ListBoxItem"> 
       <Setter Property="Padding" Value="0"></Setter> 
       <Setter Property="Height" Value="35"></Setter> 
       <Setter Property="VerticalAlignment" Value="Top"></Setter> 
      </Style> 
     </controls:DataGrid.RowStyle> 

     <controls:DataGrid.Columns> 

      <controls:DataGridTextColumn Binding="{Binding SNumber}" Width="0.5*" CanSort="False" Foreground="White"> 
       <!--<controls:DataGridTextColumn.Header> 
        <Button x:Name="btnSl" x:Uid="RSNO" Style="{StaticResource ButtonStyle1}" Background="DarkTurquoise" Margin="0,0,0,0" ></Button> 
       </controls:DataGridTextColumn.Header>--> 
       <controls:DataGridTextColumn.Style> 
        <Style TargetType="TextBlock"> 
         <Setter Property="TextAlignment" Value="Center"></Setter> 
         <Setter Property="VerticalAlignment" Value="Center"></Setter> 
        </Style> 
       </controls:DataGridTextColumn.Style> 
      </controls:DataGridTextColumn> 

      <controls:DataGridTemplatedColumn CellTemplate="{StaticResource myCellTemplateMonth}" Width="2.5*" x:Name="ItemDesc" CanSort="False" IsAscendingDefault="True"> 

      </controls:DataGridTemplatedColumn> 

      <controls:DataGridTextColumn Binding="{Binding uom}" Width="0.5*" CanSort="False" Foreground="White"> 
       <!--<controls:DataGridTextColumn.Header> 
        <Button x:Name="btnUOM" x:Uid="uom" Style="{StaticResource ButtonStyle1}" Grid.Column="2" Background="DarkTurquoise"></Button> 
       </controls:DataGridTextColumn.Header>--> 
       <controls:DataGridTextColumn.Style> 
        <Style TargetType="TextBlock"> 
         <Setter Property="TextAlignment" Value="Center"></Setter> 
         <Setter Property="Margin" Value="0,0,0,0"></Setter> 
        </Style> 
       </controls:DataGridTextColumn.Style> 
      </controls:DataGridTextColumn> 

      <controls:DataGridTemplatedColumn Width="0.7*" CanSort="False"> 
       <!--<controls:DataGridTextColumn.Header> 
        <Button x:Name="bPrice" x:Uid="ItemPrice" Style="{StaticResource ButtonStyle1}" Grid.Column="3" Background="DarkTurquoise"></Button> 
       </controls:DataGridTextColumn.Header>--> 
       <controls:DataGridTemplatedColumn.CellTemplate> 
        <DataTemplate> 
         <StackPanel Name="pricePanel" Height="30" Tapped="pricePanel_Tapped" > 
          <TextBlock Name="price" Foreground="White" Text='{Binding editedPrice}' TextAlignment="Center" VerticalAlignment="Center" Margin="0,5,0,0"></TextBlock> 
         </StackPanel> 
        </DataTemplate> 
       </controls:DataGridTemplatedColumn.CellTemplate> 
      </controls:DataGridTemplatedColumn> 

      <controls:DataGridTemplatedColumn Width="0.7*" CanSort="False"> 

       <controls:DataGridTemplatedColumn.CellTemplate> 
        <DataTemplate> 
         <StackPanel Name="quantityPanel" Height="30" Tapped="quantityPanel_Tapped"> 
          <TextBlock Name="quantity" TextAlignment="Center" Foreground="White" Text='{Binding quantity}' VerticalAlignment="Center" Margin="0,5,0,0"></TextBlock> 
         </StackPanel> 
        </DataTemplate> 
       </controls:DataGridTemplatedColumn.CellTemplate> 
      </controls:DataGridTemplatedColumn> 

      <controls:DataGridTemplatedColumn Width="0.6*" CanSort="False"> 
       <!--<controls:DataGridTextColumn.Header> 
        <Button x:Name="btnDiscnt" x:Uid="Rdiscount" Style="{StaticResource ButtonStyle1}" Grid.Column="5" Background="DarkTurquoise" ></Button> 
       </controls:DataGridTextColumn.Header>--> 
       <controls:DataGridTemplatedColumn.CellTemplate> 
        <DataTemplate> 
         <StackPanel Name="discountPanel" Height="30" Tapped="discountPanel_Tapped" > 
          <TextBlock Name="Discount" TextAlignment="Center" Foreground="White" Text='{Binding discount}' VerticalAlignment="Center" Margin="10,5,0,0"></TextBlock> 
         </StackPanel> 
        </DataTemplate> 
       </controls:DataGridTemplatedColumn.CellTemplate> 
      </controls:DataGridTemplatedColumn> 

      <controls:DataGridTextColumn Binding="{Binding cartTotal}" Width="0.85*" CanSort="False" Foreground="White"> 
       <!--<controls:DataGridTextColumn.Header> 
        <Button x:Name="btnCost" x:Uid="ItemCost" Style="{StaticResource ButtonStyle1}" Grid.Column="6" Background="DarkTurquoise"></Button> 
       </controls:DataGridTextColumn.Header>--> 
       <controls:DataGridTextColumn.Style> 
        <Style TargetType="TextBlock"> 
         <Setter Property="HorizontalAlignment" Value="Center"></Setter> 
         <Setter Property="Margin" Value="-40,0,0,0"></Setter> 
        </Style> 
       </controls:DataGridTextColumn.Style> 
      </controls:DataGridTextColumn> 

      <!--delete image column--> 
      <controls:DataGridTemplatedColumn CanSort="False"> 
       <!--<controls:DataGridTemplatedColumn.Header> 
        <Image Source="/Images/erase.png" Height="40" Width="40" Grid.Column="7" Margin="5"></Image> 
       </controls:DataGridTemplatedColumn.Header>--> 
       <controls:DataGridTemplatedColumn.CellTemplate> 
        <DataTemplate> 
         <StackPanel x:Name="voidImagePanel" Height="30" Tapped="voidImagePanel_Tapped"> 
          <Image x:Name="VoidImage" Source="/Images/delete.png" Height="20" Width="30" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="-20,5,0,0"></Image> 
         </StackPanel> 
        </DataTemplate> 
       </controls:DataGridTemplatedColumn.CellTemplate> 
      </controls:DataGridTemplatedColumn> 


     </controls:DataGrid.Columns> 
    </controls:DataGrid> 
</ScrollViewer> 

здесь я не хочу заголовок. но я получаю пустое пространство. как я могу удалить это. enter image description here

+0

Можете ли вы опубликовать свой реальный код? Мы не ссылаемся на наш код или размещаем изображения. Нам нужен фактический код для отладки –

ответ

2

здесь я не хочу заголовок. но я получаю пустое пространство. как я могу удалить это.

Я проверил исходный код MyToolkit, единственный способ изменить шаблон по умолчанию для DataGrid и установите ColumnHeaders элемент Visibility свойство Collapsed на:

  • Во-первых, добавление этих два XAML префиксов :

    xmlns:controls="using:MyToolkit.Controls" xmlns:Converters="using:MyToolkit.Converters"

  • Во-вторых, прилагая следующий стиль и Асси дп в DataGrid:

    <controls:DataGrid.Resources> 
         <Converters:VisibilityConverter x:Key="vc" /> 
    
         <Converters:NotConverter x:Key="nc" /> 
    
         <!-- TransparentListBox --> 
         <Style x:Key="TransparentListBox" TargetType="ListBox"> 
          <Setter Property="Foreground" Value="{StaticResource ListBoxForegroundThemeBrush}"/> 
          <Setter Property="Background" Value="Transparent"/> 
          <Setter Property="BorderBrush" Value="{StaticResource ListBoxBorderThemeBrush}"/> 
          <Setter Property="BorderThickness" Value="{StaticResource ListBoxBorderThemeThickness}"/> 
          <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled"/> 
          <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/> 
          <Setter Property="ScrollViewer.HorizontalScrollMode" Value="Disabled"/> 
          <Setter Property="ScrollViewer.IsHorizontalRailEnabled" Value="True"/> 
          <Setter Property="ScrollViewer.VerticalScrollMode" Value="Enabled"/> 
          <Setter Property="ScrollViewer.IsVerticalRailEnabled" Value="True"/> 
          <Setter Property="ScrollViewer.ZoomMode" Value="Disabled"/> 
          <Setter Property="IsTabStop" Value="False"/> 
          <Setter Property="TabNavigation" Value="Once"/> 
          <Setter Property="FontFamily" Value="{StaticResource ContentControlThemeFontFamily}"/> 
          <Setter Property="FontSize" Value="{StaticResource ControlContentThemeFontSize}"/> 
          <Setter Property="ItemsPanel"> 
           <Setter.Value> 
            <ItemsPanelTemplate> 
             <VirtualizingStackPanel/> 
            </ItemsPanelTemplate> 
           </Setter.Value> 
          </Setter> 
          <Setter Property="Template"> 
           <Setter.Value> 
            <ControlTemplate TargetType="ListBox"> 
             <Border x:Name="LayoutRoot" BorderBrush="{TemplateBinding BorderBrush}" 
            BorderThickness="{TemplateBinding BorderThickness}" 
            Background="{TemplateBinding Background}"> 
              <VisualStateManager.VisualStateGroups> 
               <VisualStateGroup x:Name="CommonStates"> 
                <VisualState x:Name="Normal"/> 
                <VisualState x:Name="Disabled"> 
                 <Storyboard> 
                  <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="LayoutRoot"> 
                   <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent"/> 
                  </ObjectAnimationUsingKeyFrames> 
                  <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="LayoutRoot"> 
                   <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ListBoxDisabledForegroundThemeBrush}"/> 
                  </ObjectAnimationUsingKeyFrames> 
                 </Storyboard> 
                </VisualState> 
               </VisualStateGroup> 
               <VisualStateGroup x:Name="FocusStates"> 
                <VisualState x:Name="Focused"/> 
                <VisualState x:Name="Unfocused"/> 
               </VisualStateGroup> 
              </VisualStateManager.VisualStateGroups> 
              <ScrollViewer x:Name="ScrollViewer" 
               HorizontalScrollMode="{TemplateBinding ScrollViewer.HorizontalScrollMode}" 
               HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}" 
               IsHorizontalRailEnabled="{TemplateBinding ScrollViewer.IsHorizontalRailEnabled}" 
               IsVerticalRailEnabled="{TemplateBinding ScrollViewer.IsVerticalRailEnabled}" 
               Padding="{TemplateBinding Padding}" TabNavigation="{TemplateBinding TabNavigation}" 
               VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}" 
               VerticalScrollMode="{TemplateBinding ScrollViewer.VerticalScrollMode}" 
               ZoomMode="{TemplateBinding ScrollViewer.ZoomMode}"> 
               <ItemsPresenter/> 
              </ScrollViewer> 
             </Border> 
            </ControlTemplate> 
           </Setter.Value> 
          </Setter> 
         </Style> 
    
         <Style x:Key="DataGridStyle1" TargetType="controls:DataGrid"> 
          <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}" /> 
          <Setter Property="HeaderBackground" Value="{ThemeResource SystemControlHighlightChromeHighBrush}" /> 
          <Setter Property="RowBackgroundOddBrush" Value="{ThemeResource SystemControlPageBackgroundChromeLowBrush}" /> 
          <Setter Property="CellTemplate"> 
           <Setter.Value> 
            <DataTemplate> 
             <ContentPresenter Margin="12" Content="{Binding Control}" /> 
            </DataTemplate> 
           </Setter.Value> 
          </Setter> 
          <Setter Property="Template"> 
           <Setter.Value> 
            <ControlTemplate TargetType="controls:DataGrid"> 
             <Grid Background="{TemplateBinding Background}"> 
              <Grid.RowDefinitions> 
               <RowDefinition Height="Auto" /> 
               <RowDefinition Height="*" /> 
              </Grid.RowDefinitions> 
    
              <Grid Grid.Row="0" Visibility="Collapsed" Background="{TemplateBinding HeaderBackground}" Height="40" x:Name="ColumnHeaders"> 
               <!-- HACK: Needed so that column DPs are working when adding columns in code only. --> 
               <ContentPresenter> 
                <controls:DataGridTextColumn /> 
               </ContentPresenter> 
              </Grid> 
    
              <controls:MtListBox BorderThickness="0" Grid.Row="1" 
                ItemContainerStyle="{TemplateBinding RowStyle}" 
                HorizontalContentAlignment="Stretch" 
                VerticalContentAlignment="Stretch" 
                Foreground="{ThemeResource SystemControlForegroundBaseHighBrush}" 
                Style="{StaticResource TransparentListBox}" 
                Margin="0" x:Name="Rows" /> 
             </Grid> 
            </ControlTemplate> 
           </Setter.Value> 
          </Setter> 
          <Setter Property="HeaderTemplate"> 
           <Setter.Value> 
            <DataTemplate> 
             <Grid Background="Transparent"> 
              <Grid.ColumnDefinitions> 
               <ColumnDefinition Width="Auto" /> 
               <ColumnDefinition Width="*" /> 
              </Grid.ColumnDefinitions> 
    
              <ContentPresenter Grid.Column="0" 
                Margin="12,0,12,2" 
                VerticalAlignment="Center" 
                FontSize="{ThemeResource TextStyleLargeFontSize}" 
                Content="{Binding Header}" /> 
    
              <StackPanel Grid.Column="1" 
                Visibility="{Binding IsSelected, Converter={StaticResource vc}}" 
                VerticalAlignment="Center" 
                HorizontalAlignment="Left"> 
               <Path Data="M4,0 L0,8 L8,8 Z" Fill="White" Visibility="{Binding IsAscending, Converter={StaticResource vc}}"/> 
               <Path Data="M0,0 L4,8 L8,0 Z" Fill="White" Visibility="{Binding IsAscending, Converter={StaticResource nc}}"/> 
              </StackPanel> 
             </Grid> 
            </DataTemplate> 
           </Setter.Value> 
          </Setter> 
         </Style> 
        </controls:DataGrid.Resources> 
        <controls:DataGrid.Style> 
         <StaticResource ResourceKey="DataGridStyle1"/> 
        </controls:DataGrid.Style> 
    

Скриншот: enter image description here

Проверьте мою заполненную демо here

+0

Спасибо Franklin .. – Archana

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