none
C#, WPF Dokunmatik ekranda sayfayı aşağı yukarı kaydırma sorunu. RRS feed

  • Soru

  • Merhabalar.

    WPF kullanarak dokunmatik ekran üzerinde kullanılacak bir program tasarlamaktayım. Ancak bir sorunla karşılaştım, scrollViewer kullanarak kaydırma işlemi yapmayı planladım. Bilgisayarımda bir sorun olduğunu düşünmedim çünkü mause'in tekerleği ile sayfayı rahatça aşağı yukarı hareket ettirebiliyordum. Ama programı cihaz üzerinde çalıştırdığımda sadece sayfanın yan tarafındaki kaydırıcı ile sayfayı hareket ettirebiliyorum. Kullanıcını rahat kullanabilmesi için telefon veya tabletlerdeki gibi sayfanın herhangi bir yerinden sayfayı hareket ettirmesini istiyorum. Acaba yardımcı olabilir misiniz?

    2 Nisan 2018 Pazartesi 11:50

Tüm Yanıtlar

  • ScrollViewer'ın PanningMode özelliğini ayarlamanız yeterli olacaktır.

    www.cihanyakar.com

    2 Nisan 2018 Pazartesi 22:10
  • Bu özelliği ayarladım ancak istediğim sonucu alamadım. Sorunun ne olabileceği hakkında bir fikriniz var mı?

    <ScrollViewer PanningMode="Both"  IsManipulationEnabled="True" VerticalScrollBarVisibility="Auto" CanContentScroll="True" Grid.RowSpan="4" Grid.Column="1" Grid.Row="1" HorizontalScrollBarVisibility="Disabled">

                        <Grid>
                            <Grid.RowDefinitions>
                                <RowDefinition/>
                                <RowDefinition Height="60"/>
                            </Grid.RowDefinitions>
                                <TextBlock x:Name="urun_bilgi" TextWrapping="Wrap" Grid.Column="0" Grid.Row="0" Margin="20 30 20 30" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="30" FontFamily="Times New Roman" ></TextBlock>
                            
                            <Button Content="Yazdır" Grid.Row="1" Height="50" FontSize="25" BorderBrush="#FF663AB6">
                                <Button.Background>
                                    <LinearGradientBrush EndPoint="0.5,1" MappingMode="RelativeToBoundingBox" StartPoint="0.5,0">
                                        <GradientStop Color="Black" Offset="1"/>
                                        <GradientStop Color="#FF663AB6"/>
                                    </LinearGradientBrush>
                                </Button.Background>
                            </Button>
                        </Grid>

                    </ScrollViewer>



    6 Nisan 2018 Cuma 06:14
  • Bu sorunun cevabı PanningMode bunu isterseniz ayrı bir form tasarlayıp deneyebilirsiniz. Yukarıda verdiğiniz koddaki textblock'u uzun bir metin ile doldurup dokunmatik ekranda denediğimde tam da olması gerektiği gibi çalıştı.

    Sorun bizimle paylaşmadığın bu scrollviewer'ın içinde bulunduğu grid veya daha üzerindeki taşıyıcılardan kaynaklanıyor muhtemelen.


    www.cihanyakar.com



    9 Nisan 2018 Pazartesi 16:57