2014-04-23 2 views
0

Windows Phone 8에서 작업 중이며 ListBox에 항목이 4 개 있습니다.목록 상자 : 목록 항목 또는 각 행 높이를 동적으로 변경하십시오.

동적으로 목록 항목이나 각 행 높이를 변경하고 싶습니다.

어떻게해야합니까?

<ListBox Name="TopicListbox" 
        ItemTemplate="{StaticResource TitleDataTemplate}" 
        HorizontalAlignment="Stretch" 
        SelectionChanged="TopicListboxSelectionChanged" 
        Grid.IsSharedSizeScope="True"> 
       <ListBox.ItemsPanel> 
        <ItemsPanelTemplate> 
        </ItemsPanelTemplate> 
       </ListBox.ItemsPanel> 
</ListBox> 

<DataTemplate x:Key="TitleDataTemplate"> 
      <Grid MinHeight="90" 
       HorizontalAlignment="Stretch" 
       VerticalAlignment="Center"> 
         <Grid.RowDefinitions> 
          <RowDefinition Height="Auto" SharedSizeGroup="A" /> 
         </Grid.RowDefinitions> 

         <!-- Your template here --> 
      </Grid> 
</DataTemplate> 

공지 사항 Grid.IsSharedSizeScope="True"과의의 추가 :

<ListBox Name="TopicListbox" 
        ItemTemplate="{StaticResource TitleDataTemplate}" 
        HorizontalAlignment="Stretch" 
        SelectionChanged="TopicListboxSelectionChanged"> 
       <ListBox.ItemsPanel> 
        <ItemsPanelTemplate> 
        </ItemsPanelTemplate> 
       </ListBox.ItemsPanel> 
</ListBox> 

<DataTemplate x:Key="TitleDataTemplate"> 
      <Grid MinHeight="90" 
       HorizontalAlignment="Stretch" 
       VerticalAlignment="Center"> 
      </Grid> 
</DataTemplate> 
+0

동적으로? 당신은 런타임을 의미합니다> – Sajeetharan

+0

@Sajeetharan 예, 그렇지 않으면 어떻게 할 수 있습니까? 다른 방법이 있습니까? – Goofy

+0

당신은 행 내부에 맞게 항목 싶어요 ListBox – Jaihind

답변

1

높이에 동기화 된 항목을 유지하는 좋은 방법은 GridShareSizedScope A를를 사용하는 것입니다 : 아래

내 코드입니다 RowDefinition ( SharedSizeGroup)

이렇게하면 상품이 모두 동일한 높이로 유지 될 수 있습니다. 높이 그룹을 다시

+0

+1하지만 동적으로 각 행의 높이가 증가하지 않습니다. – Goofy

+0

ListBox에서이 정확한 코드를 사용하여 열의 너비를 동기화합니다. 항목의 너비가 증가하면 (즉, 내가 선택한 경우) 다른 항목 너비는 모두 동적으로 증가합니다. 다른 행동이 있습니까? – Damascus

+0

내 목록 상자에 3 개의 항목 만 있기 때문에 화면이 좋아 보이지 않으므로 행 높이를 늘리고 싶습니다. – Goofy

관련 문제