【发布时间】:2016-02-10 03:46:55
【问题描述】:
我创建了一个 ListView ItemTemplate,我希望它能够响应(例如,当方向改变时,listView 项目的大小发生变化)。我使用 Grid 作为网格内部元素的控件,但它没有表现。 ListView.ItemContainerStyle 具有属性 HorizontalAlignment="Stretch" 这是我想要的行为,并且 ItemContainerStyle 是正确的宽度。在边框和网格内部我有相同的 HorizontalAlignment="Stretch" 并且当其中包含的 TextBox 有很多文本时它们溢出,并且当 TextBox 中的文本很少或没有文本时,Border 元素缩小到小于 ItemContainerStyle 是显示。
<ListView ItemsSource="{Binding TileStories}" x:Name="cont" Margin="0,10,0,10" Background="{StaticResource CustomResourceBrush}" BorderBrush="{StaticResource CustomResourceBrush}" Foreground="{StaticResource CustomResourceBrush}">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
<Setter Property="Margin" Value="20,10,20,10" />
<Setter Property="Foreground" Value="{StaticResource BTVioletBrush}" />
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemTemplate>
<DataTemplate>
<Border CornerRadius="20" BorderThickness="0" Width="{Binding ScrollViewerWidth}" Background="White" HorizontalAlignment="Stretch">
<StackPanel Height="160" Orientation="Horizontal">
<Grid Background="black">
<TextBox Text="Example">
</Grid>
</StackPanel>
</Border>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
【问题讨论】:
-
这不是duplicate of this question吗?您是否尝试过设置 HorizontalContentAlignment?
-
修复了部分问题 - “边框”的白色背景现在表现正常,但网格(如果我删除固定宽度)应受边框宽度的约束并且溢出由于文本框而向右。
-
我刚刚编辑了代码以简化问题,但仍然遇到同样的错误。
-
你能分享一个有问题的示例最小项目吗?
标签: xaml responsive-design user-controls windows-phone-8.1