【发布时间】:2016-08-08 20:08:51
【问题描述】:
我有一个简单的测试应用程序,用于找出我的 ListView 问题。除了我现在所拥有的之外,我还有两件事需要完成。 1.获取ListViewItems之间的间距小于默认值。我似乎无法弄清楚这是在哪里设计的。 2. 我有 IsEnabled="False" 这让我得到了我想要的行为,用户无法与控件交互。但是,我不希望该项目褪色。想知道我需要调整什么属性才能实现这一点。
感谢您的帮助!
<Grid x:Name="GridBase" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" MinWidth="400">
<Grid Margin="30,20" Background="LightGray">
<ListView x:Name="MyList" ItemsSource="{Binding SourceData}" HorizontalContentAlignment="Stretch" HorizontalAlignment="Stretch" IsItemClickEnabled="False" Width="{Binding ElementName=GridBase,Path=Width}" MinWidth="400" MaxWidth="1200" IsEnabled="False">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
<Setter Property="HorizontalAlignment" Value="Stretch"/>
<Setter Property="Padding" Value="0,0"/>
</Style>
</ListView.ItemContainerStyle>
<ListView.Header>
<Style TargetType="ListViewHeaderItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
<Setter Property="HorizontalAlignment" Value="Stretch"/>
</Style>
</ListView.Header>
<ListView.HeaderTemplate>
<DataTemplate>
<Grid Background="LightGreen" HorizontalAlignment="Stretch" Width="{Binding ElementName=MyList,Path=Width}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="40"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="6*"/>
<ColumnDefinition Width="40"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="Col1" HorizontalAlignment="Left"/>
<TextBlock Grid.Column="1" Text="Col2" HorizontalAlignment="Left"/>
<TextBlock Grid.Column="2" Text="Col3" HorizontalAlignment="Center"/>
<TextBlock Grid.Column="3" Text="Col4" HorizontalAlignment="Left"/>
<TextBlock Grid.Column="4" Text="Col5" HorizontalAlignment="Center"/>
<TextBlock Grid.Column="5" Text="Col6" HorizontalAlignment="Left"/>
<TextBlock Grid.Column="6" Text="Col7" HorizontalAlignment="Center"/>
<TextBlock Grid.Column="7" Text="Col8" HorizontalAlignment="Center"/>
<TextBlock Grid.Column="8" Text="Col9" HorizontalAlignment="Left"/>
</Grid>
</DataTemplate>
</ListView.HeaderTemplate>
<ListView.ItemTemplate>
<DataTemplate>
<Grid HorizontalAlignment="Stretch" Background="Aquamarine" Width="{Binding ElementName=MyList,Path=Width}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="40"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="6*"/>
<ColumnDefinition Width="40"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{Binding Column1}" HorizontalAlignment="Left"/>
<TextBlock Grid.Column="1" Text="{Binding Column2}" HorizontalAlignment="Left"/>
<TextBlock Grid.Column="2" Text="{Binding Column3}" HorizontalAlignment="Center"/>
<TextBlock Grid.Column="3" Text="{Binding Column4}" HorizontalAlignment="Left"/>
<TextBlock Grid.Column="4" Text="{Binding Column5}" HorizontalAlignment="Center"/>
<TextBlock Grid.Column="5" Text="{Binding Column6}" HorizontalAlignment="Left"/>
<TextBlock Grid.Column="6" Text="{Binding Column7}" HorizontalAlignment="Center"/>
<TextBlock Grid.Column="7" Text="{Binding Column8}" HorizontalAlignment="Center"/>
<TextBlock Grid.Column="8" Text="{Binding Column9}" HorizontalAlignment="Left"/>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid>
</Grid>
【问题讨论】:
标签: xaml listview styles height win-universal-app