คุณสมบัติ RowHeight ของ ListView ไม่ทำงานในโครงการ UWP

ฉันมี ListView พร้อมตั้งค่าความสูงของแถว สิ่งนี้ใช้งานได้บน iOS และ Android แต่ไม่ใช่บน UWP ที่นี่ความสูงของแถวมีขนาดเล็กมาก มันใหญ่เท่ากับขนาดตัวอักษรเริ่มต้นที่ TextCell ฉันสร้างโปรเจ็กต์ตัวอย่างเล็ก ๆ อีกอันด้วยโค้ดนี้:

Title = "Page";
var listView = new ListView
{
    RowHeight = 44,
};
listView.ItemsSource = new string[]
{
    "Test1",
    "Test2",
    "Test3",
    "Test4",
    "Test5",
};

Content = listView;

รหัสนี้ทำงานได้ดีกับโปรเจ็กต์ตัวอย่าง แต่ไม่ใช่ในโปรเจ็กต์หลักขนาดใหญ่

มีใครทราบบ้างไหมว่าทำไม RowHeight ไม่ทำงานที่นี่


person testing    schedule 21.03.2016    source แหล่งที่มา
comment
ฉันมีปัญหาในขณะที่รวม RowHeight กับตัวเลือกแนวตั้งและแนวนอนของเซลล์และคอนเทนเนอร์ ดังนั้นระวัง! สำหรับการที่   -  person Mario Galván    schedule 22.03.2016


คำตอบ (2)


ดูเหมือนว่านี่เป็นจุดบกพร่องใน Xamarin.Forms 2.1.0 หวังว่าสิ่งนี้จะได้รับการแก้ไขในไม่ช้า

person testing    schedule 22.03.2016

สิ่งนี้ใช้ได้กับ xLabs Repeater และแน่นอนว่ามันควรจะใช้ได้กับ listview ของคุณด้วยใช่ไหม

ฉันใช้ ChildAdded Event Property บน ViewCell และจัดรูปแบบบนโค้ดด้านหลัง .... เฮ้ ... มันใช้งานได้!

                  <!--Users added go here-->              
      <xLabs:RepeaterView x:TypeArguments="models:User" x:Name="UsersAddedStack" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" 
                          ItemsSource="{Binding UsersAdded}" ItemClickCommand="{Binding AddedUserIconClicked}" Spacing="4">

        <xLabs:RepeaterView.ItemTemplate>
          <DataTemplate>                    
            <ViewCell ChildAdded="RepeaterChild_OnChildAdded"><!-- <====fixes height -->
              <Frame Padding="0,6,0,6" OutlineColor="Transparent" HasShadow="False" BackgroundColor="White">
                <Grid HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" BackgroundColor="White">
                  <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="2*"/>
                    <ColumnDefinition Width="8*"/>
                  </Grid.ColumnDefinitions>
                  <Image Grid.Column="0" Source="user256blue.png" Aspect="AspectFit" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"/>
                  <StackLayout Grid.Column="1" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">
                    <!--First Name + Last Name-->
                    <Label Text="{Binding FullName}" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" HorizontalTextAlignment="Start"
                         BackgroundColor="White" FontSize="Medium" TextColor="Black"/>
                    <!--Username-->
                    <Label Text="{Binding Username}" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" HorizontalTextAlignment="Start"
                         BackgroundColor="White" FontSize="Medium" TextColor="Black"/>
                  </StackLayout>
                </Grid>
              </Frame>
            </ViewCell>
          </DataTemplate>                  
        </xLabs:RepeaterView.ItemTemplate>


      </xLabs:RepeaterView>

private void RepeaterChild_OnChildAdded(object sender, ElementEventArgs e)
{
    var viewCell = sender as ViewCell;
    viewCell.View.HeightRequest = _ccfvm.IconHeight; //_ccfvm is my viewmodel for the page
}
person Rick Penabella    schedule 15.04.2016