2

私は開発が初めてで、LongListSelector を C# コードで作成しようとしていますが、成功しませんでした。誰でもこれを作成するのを手伝ってくれませんか。

私のXMLコードは-

        <phone:LongListSelector ItemRealized="LLS_ItemRealized" Name="longList" ItemsSource="{Binding supportedList}" IsGroupingEnabled="False" LayoutMode="List" HideEmptyGroups="True" Margin="30,0,26,0" >
            <phone:LongListSelector.ItemTemplate>
                <DataTemplate>
                    <Grid Background="Transparent">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="210"/>
                            <ColumnDefinition Width="210"/>
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="120"/>
                        </Grid.RowDefinitions>
                        <Image Height="118" Width="209" Tap="ThumbnailImageTap" Margin="0" Stretch="Fill" Source="{Binding ThumbnailUrl1}" Tag="{Binding ClipId1}" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Left"/>
                        <Image Height="118" Width="209" Tap="ThumbnailImageTap" Margin="0" Stretch="Fill" Source="{Binding ThumbnailUrl2}" Tag="{Binding ClipId2}"  Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Right"/>
                    </Grid>
                </DataTemplate>
            </phone:LongListSelector.ItemTemplate>
        </phone:LongListSelector>  

C# でこれを作成するための提案は、私の回答に関連する素晴らしいリンクになります。

ありがとう :)

4

3 に答える 3

3

これを行うには、コード ビハインドでスタイルを明示的に適用します。まず、定義済みのキーを使用して LongListSelector を定義します。

<phone:LongListSelector x:Key="listSelector" ItemRealized="LLS_ItemRealized" Name="longList" ItemsSource="{Binding supportedList}" IsGroupingEnabled="False" LayoutMode="List" HideEmptyGroups="True" Margin="30,0,26,0" >

                <phone:LongListSelector.ItemTemplate>
                    <DataTemplate>
                        <Grid Background="Transparent">
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="210"/>
                                <ColumnDefinition Width="210"/>
                            </Grid.ColumnDefinitions>
                            <Grid.RowDefinitions>
                                <RowDefinition Height="120"/>
                            </Grid.RowDefinitions>
                            <Image Height="118" Width="209" Tap="ThumbnailImageTap" Margin="0" Stretch="Fill" Source="{Binding ThumbnailUrl1}" Tag="{Binding ClipId1}" Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Left"/>
                            <Image Height="118" Width="209" Tap="ThumbnailImageTap" Margin="0" Stretch="Fill" Source="{Binding ThumbnailUrl2}" Tag="{Binding ClipId2}"  Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Right"/>

                        </Grid>
                    </DataTemplate>
                </phone:LongListSelector.ItemTemplate>

            </phone:LongListSelector>  

次に、コード ビハインドでスタイルを取得し、新しく作成された LongListSelector に適用します。

var listSelector=new LongListSelector();
listSelector.Style=Resources["listSelector"] as Style;
于 2013-04-10T07:11:40.520 に答える
1

こちらをご覧になりましたか?

Windows Phone 8 の「LongListSelector」の公式 Microsoft リンク:

wp7 および wp8 の「CodeProject」からのテンプレート プロジェクト:

この助けを願っています

于 2013-04-10T07:09:02.480 に答える
0

ご自身で結んでください。これを試してみてください。

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"">
                    <Grid Background=""Transparent"">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width=""210""/>
                            <ColumnDefinition Width=""210""/>
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition Height=""120""/>
                        </Grid.RowDefinitions>
                        <Image Height=""118"" Width=""209"" Tap=""ThumbnailImageTap"" Margin=""0"" Stretch=""Fill"" Source=""{Binding ThumbnailUrl1}"" Tag=""{Binding ClipId1}"" Grid.Column=""0"" VerticalAlignment=""Center"" HorizontalAlignment=""Left""/>
                        <Image Height=""118"" Width=""209"" Tap=""ThumbnailImageTap"" Margin=""0"" Stretch=""Fill"" Source=""{Binding ThumbnailUrl2}"" Tag=""{Binding ClipId2}""  Grid.Column=""1"" VerticalAlignment=""Center"" HorizontalAlignment=""Right""/>
                    </Grid>
                    </DataTemplate>";
    DataTemplate res=null;
    try
    {
        res = (DataTemplate)XamlReader.Load(xaml);
    }
    catch (Exception e)
    {
        MessageBox.Show(e.Message);
    }
    return res;
}
于 2013-07-03T11:51:19.430 に答える