Soru & Cevap

Text bölme çalışmıyor

25.12.2013 - 09:10
Listbox içindeki textin yeterince uzun olunca bölünüp aşağı sıralanmasını istiyorum   <ListBox x:Name="LstSample" Height="378">                 <ListBox.ItemTemplate>                     <DataTemplate>                         <StackPanel Orientation="Horizontal">                             <Image Source="{Binding ImagePath}" Stretch="None"/>                             <StackPanel Orientation="Vertical">                                 <TextBlock Text="{Binding Name}" FontSize="45"/>                                 <TextBlock Text="{Binding Group}" FontSize="25" TextWrapping="Wrap"/>                             </StackPanel>                         </StackPanel>                     </DataTemplate>                 </ListBox.ItemTemplate>             </ListBox>   ancak bölünme yapılmıyor

  

3 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-472-1375079047.jpg
mehmet.altiparmak
27.12.2013 - 09:06

TextBlock'un etrafını bir ScrollViewer ile çevreleyip, ScrollViewer'a bir genişlik vermen yeterli olur diye düşünüyorum. Tabi bir de ScrollViewer'ın horizontal scrolling yeteneğini enable etmen gerekir. Vertical'ı da disable edersin.

Aşağıdaki linki açtığın zaman sayfanın alt kısmında bir örnek bulabilirsin. 

http://msdn.microsoft.com/en-us/library/windowsphone/develop/system.windows.controls.scrollviewer(v=vs.105).aspx 

Profile picture for user omer.birler
omer.birler
26.12.2013 - 02:24

Cevabını için çok teşekkür ederim Mehmet bey. Amacıma ulaştım. Peki texti bölmek yerine kaydırmak isteseydim nasıl yapacaktık? Daha önce textblocka scrollviewer ekledim ancak texti kaydıramadım

picture-472-1375079047.jpg
mehmet.altiparmak
25.12.2013 - 11:29

Merhaba Ömer,

<StackPanel Orientation="Horizontal"> olduğu için TextBlock uzadıkça uzuyor sağ tarafa doğru ekran dışına çıkıyor. Bu StackPanel'e genişlik vermek aklına gelebilir, onu yaparsan yine olmayacak, çünkü sabit genişlik de versen StackPanel Scroll edecek şekilde yatay düzlemde yine uzayacak. 

<StackPanel Orientation="Horizontal"> yerine şöyle bir yapı kullanırsan düzelecektir, 

                       <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="Auto" />
                                <ColumnDefinition Width="*" />                                
                            </Grid.ColumnDefinitions>
                                <Image Source="{Binding ImagePath}" Stretch="None"/>
                                <StackPanel Orientation="Vertical" Grid.Column="1">
                                    <TextBlock Text="{Binding Name}" FontSize="45"/>
                                    <TextBlock Text="{Binding Group}" FontSize="25" TextWrapping="Wrap"/>
                                </StackPanel>
                        </Grid>