سؤال

في تطبيق ويندوز 8.1 (صافي 4.5) لدي (عبر اثنين من القوالب ، بسبب ملزمة) شبكة التي تحتوي على ستاكبانيل الذي يحتوي على ليستفيو.الشيء هو ، ليستفيو لا مقياس مع المساحة المتاحة ، بدلا من ذلك يظهر شريط التمرير.

<Grid DataContext="{Binding}">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/> <!-- IF I set MinHeight here, it grows -->
    </Grid.RowDefinitions>
    <TextBlock Grid.Row="0"/>
    <ListView
            Grid.Row="1"
            Margin="10"
            ItemsSource="{Binding ementas}"
            ItemTemplate="{StaticResource temp1}"
            SelectionMode="None"
            IsItemClickEnabled="False"
            IsSwipeEnabled="False">
    </ListView>
</Grid>

قالب ل ليستفيو

<StackPanel Width="310" Margin="5,10,5,10" DataContext="{Binding}">
    <TextBlock Text="{Binding data}" Style="{StaticResource TitleTextBlockStyle}"/>
    <ListView SelectionMode="None"
            IsItemClickEnabled="False"
            ItemsSource="{Binding pratos}"
            ItemTemplate="{StaticResource temp2}"
            IsSwipeEnabled="False">
    </ListView>
</StackPanel>

والقالب ل ليستفيو الثاني

<TextBlock Text="{Binding descricao}"
    Margin="5"
    Style="{StaticResource BodyTextBlockStyle}"
    TextWrapping="WrapWholeWords"/>

لقطة شاشة:Screenshot

أود ل ليستفيو مع شريط التمرير أن يكون حجم حجم لتناسب المحتوى ، والتمرير فقط إذا كان ينفد من مساحة الشاشة.

هل كانت مفيدة؟

المحلول

هذه مشكلة شائعة للغاية...ال StackPanel هل لا تغيير حجم محتوياته لتناسب عنصر التحكم الأصل مثل Grid هل.الحل بسيط...لا تستخدم StackPanel باستثناء أبسط من يصطفون بعض الضوابط الواجبات.بدلا من ذلك ، استخدم ملف Grid والتي سوف تناسب تلقائيا كل المساحة التي توفرها الضوابط الأم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top