2016-03-01 3 views
0

У меня есть usercontrol в GridView в приложении uwp. Я хочу, чтобы usercontrol растягивался в GridviewItemsPanel. Я попытался установить HorizontolAlignment usercontrol на Stretch, но не успел. Кто-нибудь знает решение?Растяжение пользовательского элемента управления в виде сетки

вот XAML из UserControl

<UserControl 
x:Class="LessonsBuild.Controls.TextItemControl" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:local="using:LessonsBuild.Controls" 
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
mc:Ignorable="d" 
d:DesignHeight="300" 
d:DesignWidth="614" 
HorizontalAlignment="Stretch" 

Margin="5" 
Height="Auto"> 

<Grid Width="{Binding RelativeSource={RelativeSource Mode=TemplatedParent },Path=Width}" 
     Height="Auto" > 
    <Rectangle x:Name="DropShadow" 
       Margin="5,5,0,0" 
       Fill="{StaticResource DropShadowBrush }"/> 

    <Grid x:Name="Root" 
      Width ="{Binding RelativeSource={RelativeSource Mode=TemplatedParent },Path=Width}" 
      Height="Auto" 
      Margin="0,0,3,3" 
      Background="White" > 
     <Grid.RowDefinitions > 
      <RowDefinition Height="Auto" /> 
      <RowDefinition /> 
     </Grid.RowDefinitions>  

      <!--#region Header--> 
     <Grid Width="{Binding RelativeSource={RelativeSource Mode=TemplatedParent },Path=Width}" 
       HorizontalAlignment="Stretch" > 
      <Grid.ColumnDefinitions > 
       <ColumnDefinition Width="Auto" /> 
       <ColumnDefinition Width="Auto" /> 
       <ColumnDefinition /> 
      </Grid.ColumnDefinitions> 

      <TextBlock x:Name="txtTitel" 
         Text="{x:Bind CurrentModel.Title}" 
         FontSize="30" 
         VerticalAlignment="Top" /> 
      <StackPanel x:Name="controls" 
         Grid.Column="1" 
         Orientation="Horizontal" > 

       <AppBarButton x:Name="btnBold" 
           Icon="Bold" 
           Click="btnBold_Click" /> 

       <AppBarButton x:Name="btnItalic" 
           Icon="Italic" 
           Click="btnItalic_Click" /> 

       <AppBarButton x:Name="btnUnderline" 
           Icon="Underline" 
           Click="btnUnderline_Click" /> 

       <AppBarButton x:Name="btnBullet" 
           Icon="Bullets" 
           Click="btnBullet_Click" /> 


      </StackPanel> 

      <AppBarButton x:Name="btnDelete" 
          Grid.Column="2" 
          HorizontalAlignment="Right" 
          Icon="Delete" 
          Click="btnDelete_Click" 
       /> 


     </Grid> 
      <!--#endregion--> 

     <!--#region Content--> 
     <RichEditBox x:Name="txtBox" 
      Grid.Row="1" BorderThickness="0,1" 
        TextChanged="txtBox_TextChanged" 
        > 

     </RichEditBox> 

     <!--#endregion--> 
    </Grid> 
</Grid> 

Heres в GridView сек Xaml

<GridView Grid.Row="1" 
       Margin="30" 
       ItemsSource="{Binding TextControlList}" SelectionMode="None" 
       HorizontalContentAlignment="Stretch" /> 

enter image description here

+0

убедитесь, что вы не дали каких-либо высоту или ширину в пользовательском элементе управления. однако высота и ширина конструкции не оказывают никакого влияния. иначе вы можете предоставить код для пользовательского контроля и gridview, чтобы помочь. –

+0

Не могли бы вы разместить код XAML? – Sakura

+0

@Sakura Я обновил вопрос с помощью xaml-кода. –

ответ

0

Попробуйте использовать ListView вместо GridView

2

Чтобы настроить его, модифицировать пункт HorizontalContentAlignment, как Stretch, в пределах 'ItemContainerStyle '(не внутри самого сетчатого экрана). В элементе управления list/gridview вы можете изменить способ размещения предметов через этот ItemContainerStyle.

<GridView x:Name="yourGridView" .... > 
    <GridView.ItemContainerStyle> 
     <Style TargetType="GridViewItem"> 
      <Setter Property="HorizontalContentAlignment" Value="Stretch"/> 
     </Style> 
    </GridView.ItemContainerStyle> 
</GridView> 
+0

Не работает. Я в порядке с «ItemContainer», но проблема в том, что usercontrol не растягивается. даже для параметра «HorizontalContentAlignment» установлено значение «растянуть». –

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

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