ListBox项目windows phone 8

时间:2014-07-07 18:48:31

标签: c# windows-phone-8

如何从C#调整ListBox中的项目?我可以ListBox.Height = 100;但我不知道如何调整ListBox中的项目。请帮帮我。

我需要使用ManipulationDelta方法更改listBox中项目的大小及其编号。

主要xaml代码:

<ListBox x:Name="tileList"
        Grid.Row="0"
        Margin="5"
        ManipulationCompleted="tileList_ManipulationCompleted"
        ManipulationDelta="tileList_ManipulationDelta">

    <ListBox.RenderTransform>
        <CompositeTransform/>
    </ListBox.RenderTransform>
    <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
            <toolkit:WrapPanel Orientation="Horizontal" />
        </ItemsPanelTemplate>
    </ListBox.ItemsPanel>
    <ListBox.ItemTemplate>
        <DataTemplate>
            <toolkit:HubTile x:Name="hubMain"
                            Title="{Binding Title}"
                            Margin="3"
                            DisplayNotification="{Binding DisplayNotification}"
                            GroupTag="{Binding GroupTag}"
                            Message="{Binding Message}"
                            Notification="{Binding Notification}"
                            Size="Medium"
                            Source="{Binding ImageUri}" />
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

and C# code:

private void tileList_ManipulationDelta(object sender, ManipulationDeltaEventArgs e)
{
    if (e.PinchManipulation != null)
    {

        double newWidth = 0.0, newHieght = 0.0;

        foreach (tileList lv in tileList.Items)
        {
            lv.Height = 10;
        }
    }
}

private void tileList_ManipulationCompleted(object sender, System.Windows.Input.ManipulationCompletedEventArgs e)
{
    m_Zoom = 200 / 10;
}

Thanks.

2 个答案:

答案 0 :(得分:0)

您需要访问列表框的项目并为它们设置单独的高度,

 foreach (ListBoxItem lv in YourListbox.Items)
        {
            lv.Height = 10;
        }

答案 1 :(得分:0)

您始终可以在Xaml页面中更改ListBox的ItemTemplate

<ListBox>
   <ListBox.ItemTemplate>
      <DataTemplate>
         <TextBlock Height="200" Width="200" /> //This is just an example you can use any control
      </DataTemplate>
   </ListBox.ItemTemplate>
</ListBox>

希望这是你想要的。