分组GridView中的TextBox大小不正确

时间:2012-09-20 19:39:34

标签: xaml windows-8

我正在尝试在我的Windows 8应用程序中使用分组GridView,但是我的非常大的项目遇到了问题。

通过这个小例子,它将更容易理解:

<Page
    x:Class="TestGridView.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:TestGridView"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <Page.Resources>
        <CollectionViewSource
            x:Name="groupedItemsViewSource"
            IsSourceGrouped="true" />
    </Page.Resources>

    <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
        <GridView
            x:Name="itemGridView"
            ItemsSource="{Binding Source={StaticResource groupedItemsViewSource}}">
            <GridView.ItemTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding Text}" FontSize="26"  Margin="20" />
                </DataTemplate>
            </GridView.ItemTemplate>
            <GridView.ItemsPanel>
                <ItemsPanelTemplate>
                    <VirtualizingStackPanel Orientation="Horizontal"/>
                </ItemsPanelTemplate>
            </GridView.ItemsPanel>
            <GridView.GroupStyle>
                <GroupStyle>
                    <GroupStyle.HeaderTemplate>
                        <DataTemplate />
                    </GroupStyle.HeaderTemplate>
                    <GroupStyle.Panel>
                        <ItemsPanelTemplate>
                            <VariableSizedWrapGrid Orientation="Vertical"/>
                        </ItemsPanelTemplate>
                    </GroupStyle.Panel>
                </GroupStyle>
            </GridView.GroupStyle>
        </GridView>
    </Grid>
</Page>

和代码隐藏:

public sealed partial class MainPage : Page
{
    public MainPage()
    {
        this.InitializeComponent();
    }

    protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        List<Value> list = new List<Value>
            {
                new Value { Text = "A11111"},
                new Value { Text = "A22222"},
                new Value { Text = "A333333333333333333333333333333333333#"},
                new Value { Text = "BBBBB"},
                new Value { Text = "CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC#"},
                new Value { Text = "DDDDD"},
                new Value { Text = "DDDDD"},
            };
        IEnumerable<List<Value>> values = from v in list
                                               group v by v.Text[0].ToString() into p
                                               orderby p.Key
                                               select new List<Value>(p);

        groupedItemsViewSource.Source = values;
    }
}

public class Value
{
    public string Text { get; set; }
}

问题是“A333333333333333333333333333333333333#”的值被截断了“CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC#”之一,而不是。

如何在gridview上显示所有内容?

提前感谢您的帮助。 最好的问候

0 个答案:

没有答案