1行で、グリッドの高さと幅のプロパティをいくつかのダブルプロパティにバインドして、ロジックで処理できると言えます..しかし、ロジックのコードもいくつかあります..
最初に、longlistSelector の項目で使用するいくつかのプロパティを作成した ListData のクラスを作成しました..ここにクラスがあります..
public class ListData
{
public double height { get; set; }
public double width { get; set; }
public string text { get; set; }
public string ImagePath { get; set; }
public Visibility isTextVisible { get; set; }
public Visibility isImageVisible { get; set; }
}
これで、LongListSelector itemsSourceプロパティがバインドされるObservableCollectionを作成しました。
public ObservableCollection<ListData> ListOfData { get; set; }
今、私はこのコレクションをデータで埋めました..ここで、データはあなたのListDataクラスオブジェクトであり、LongListSelectorアイテムに反映されるプロパティの異なる値を持っています..私はメインページコンストラクターでそれを埋めました..
public MainPage()
{
InitializeComponent();
ListOfData = new ObservableCollection<ListData>();
ListData sd = new ListData();
sd.ImagePath = "/Assets/1.jpg";
sd.text = "";
sd.isTextVisible = Visibility.Collapsed;
sd.isImageVisible = Visibility.Visible;
sd.height = 250;
sd.width = 250;
ListData sd1 = new ListData();
sd1.ImagePath = "/Assets/1.jpg";
sd1.text = "afhjkahfjkahjkghadgjkgjkv";
sd1.isTextVisible = Visibility.Visible;
sd1.isImageVisible = Visibility.Collapsed;
sd1.height = 50;
sd1.width = 50;
ListOfData.Add(sd);
ListOfData.Add(sd1);
ListOfData.Add(sd);
ListOfData.Add(sd1);
ListOfData.Add(sd);
ListOfData.Add(sd1);
ListOfData.Add(sd);
ListOfData.Add(sd1);
this.DataContext = this;
// Sample code to localize the ApplicationBar
//BuildLocalizedApplicationBar();
}
これですべての準備が整いました.. Data があり、ページの DataContext が設定されています..残りは、LingListSelector が定義されている xaml ページです..ここで、すべてのプロパティをバインドしました..あなたの便宜のために..
<phone:LongListSelector Grid.Row="0" ItemsSource="{Binding ListOfData}">
<phone:LongListSelector.ItemTemplate>
<DataTemplate>
<Grid Height="{Binding height}" Width="{Binding width}" >
<TextBlock Text="{Binding Path=text}" Visibility="{Binding isTextVisible}"/>
<Image Source="{Binding Path=ImagePath}" Visibility="{Binding isImageVisible}" />
</Grid>
</DataTemplate>
</phone:LongListSelector.ItemTemplate>
</phone:LongListSelector>
ここで..すべてのことが行われています..今あなたのロジックが必要です..それがあなたを助けることを願っています..