【问题标题】:How to create a LongListSelector control programmatically如何以编程方式创建 LongListSelector 控件
【发布时间】:2013-07-01 23:45:57
【问题描述】:

这是另一个 LongListSelector 问题..

我需要一些具有这种风格的选择器并为它们添加不同的绑定:

<phone:LongListSelector x:Name="ListSelector">
    <phone:LongListSelector.ItemTemplate>
        <DataTemplate>
            <StackPanel Name="containerStack" Margin="0,0,0,0" Orientation="Horizontal">
                <StackPanel HorizontalAlignment="Left" Height="Auto" VerticalAlignment="Top" Width="60" Margin="3,20,2,20">
                    <TextBlock TextWrapping="Wrap" Style="{StaticResource PhoneTextLargeStyle}" FontSize="{StaticResource PhoneFontSizeMedium}" Foreground="White"/>
                </StackPanel>
                <StackPanel Height="Auto" VerticalAlignment="Top" Width="350" Margin="2,20,3,20">
                    <TextBlock TextWrapping="Wrap" Style="{StaticResource PhoneTextLargeStyle}" FontSize="{StaticResource PhoneFontSizeMedium}" Foreground="White" Margin="0"/>
                    <TextBlock TextWrapping="Wrap" Style="{StaticResource PhoneTextLargeStyle}" FontSize="{StaticResource PhoneFontSizeMedium}" Foreground="DarkBlue" Margin="0"/>
                </StackPanel>
            </StackPanel>
        </DataTemplate>
    </phone:LongListSelector.ItemTemplate>
</phone:LongListSelector>

我想以编程方式制作它。我看到了这个 answer,但在 windows phone 8 中这对我不起作用。

我怎样才能通过代码或作为一种风格来重现它?谢谢

【问题讨论】:

    标签: c# xaml windows-phone-8 windows-phone longlistselector


    【解决方案1】:

    希望你知道如何在 longlistSelector 中绑定数据。假设下面是代码。尝试自行绑定。

        LongListSelector listSelector;
    
        private void CreateLongListSelector()
        {
            listSelector = new LongListSelector()
            {
                HideEmptyGroups=false,
                IsGroupingEnabled=false,
            };
            ContentPanel.Children.Add(listSelector);
            listSelector.ItemTemplate = GetDataTemplate();
    
        }
    
        public DataTemplate GetDataTemplate()
        {
            string xaml = @"<DataTemplate xmlns=""http://schemas.microsoft.com/winfx/2006/xaml/presentation"">
                            <StackPanel Name=""containerStack"" Margin=""0,0,0,0"" Orientation=""Horizontal"">
                            <StackPanel HorizontalAlignment=""Left"" Height=""Auto"" VerticalAlignment=""Top"" Width=""60"" Margin=""3,20,2,20"">
                            <TextBlock Text=""{Binding text}"" TextWrapping=""Wrap"" Style=""{StaticResource PhoneTextLargeStyle}"" FontSize=""{StaticResource PhoneFontSizeMedium}"" Foreground=""White""/>
                            </StackPanel><StackPanel Height=""Auto"" VerticalAlignment=""Top"" Width=""350"" Margin=""2,20,3,20"">
                            <TextBlock Text=""{Binding text}"" TextWrapping=""Wrap"" Style=""{StaticResource PhoneTextLargeStyle}"" FontSize=""{StaticResource PhoneFontSizeMedium}"" Foreground=""White"" Margin=""0""/>
                            <TextBlock Text=""{Binding text}"" TextWrapping=""Wrap"" Style=""{StaticResource PhoneTextLargeStyle}"" FontSize=""{StaticResource PhoneFontSizeMedium}"" Foreground=""DarkBlue"" Margin=""0""/>
                            </StackPanel>
                            </StackPanel>
                            </DataTemplate>";
            DataTemplate res=null;
            try
            {
                res = (DataTemplate)XamlReader.Load(xaml);
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
            return res;
        }
    

    【讨论】:

    • 印度人让我很兴奋 :) @Amit 如果可能的话,你有推特账号吗?
    • 是的,我有,但是发生了什么? :)
    • 没什么.. 只是我想与印度人交流更多、文化、专业。特别是与 WP8 帅哥:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-11
    • 2015-12-12
    相关资源
    最近更新 更多