2017-12-20 3 views
0

私は、AndroidとiOSプロジェクトのポータブルプロジェクトであるVisual StudioのXamarinを使って、ソーシャルネットワーキングアプリケーションをコーディングしています。コードで複数のラベルを追加する

MainPageクラスをナビゲートすると、URLが開き、ページが読み込まれ、文字列として保存されます。私はそれを "
"ごとに分割する必要があります。私はforループを使うべきだと思っていますが、次に何をすべきか分かりません。私は各チャンクに独自のレイアウトボックスを持たせたいと思いますが、どのレイアウトを使用するのか、そしてそれぞれのレイアウトが最適であるかはまだ分かりません。それぞれのボックスには、ラベル(コンテンツ)と画像があります(投稿に1つが付いていれば、URLが開いてその画像が表示されます)

for(string chunk : data.split("<br/">){ 
    <Layout?> 
    <label Text="*Content from the current chunk*"/> 
    if(*contains image*){ 
    <image>*Open url and display the image*</image> 
    } 
    </Layout?> 
} 

を編集できるようにする。これはscrollviewのすべての内部すべて一緒にスクロール彼らはそうは...また、図示していないチャンク列の

答えて

1

解析しています。

MainPage.xamlを:

<?xml version="1.0" encoding="utf-8" ?> 
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" 
      xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
      xmlns:local="clr-namespace:StackOverflow1" 
      x:Class="StackOverflow1.MainPage" 
      Appearing="ContentPage_Appearing">  
    <ScrollView> 
     <StackLayout x:Name="mainStackLayout" /> 
    </ScrollView> 
</ContentPage> 

MainPage.xaml.cs:

// ... 
    public partial class MainPage : ContentPage 
    { 
     private List<Chunk> chunks = new List<Chunk>(); 

     // ... 

     private void ContentPage_Appearing(object sender, EventArgs e) 
     { 
      StackLayout childLayout; 

      foreach (Chunk chunk in chunks) 
      { 
       childLayout = new StackLayout(); 

       Image image = new Image() { Source = chunk.url, HorizontalOptions = LayoutOptions.Start }; 
       Label label = new Label() { Text = chunk.text, HorizontalOptions = LayoutOptions.Start }; 

       childLayout.Children.Add(image); 
       childLayout.Children.Add(label); 

       mainStackLayout.Children.Add(childLayout); 
      } 
     } 
    } 
    // ... 
+0

作品!ありがとう!! –

関連する問題