हल बनाए गए कस्टम ग्रिड दृश्य टेम्पलेट
public class AdaptableGridView : GridView
{
// default itemWidth
private const double itemWidth = 100.00;
public double ItemWidth
{
get { return (double)GetValue(ItemWidthProperty); }
set { SetValue(ItemWidthProperty, value); }
}
public static readonly DependencyProperty ItemWidthProperty =
DependencyProperty.Register("ItemWidth", typeof(double), typeof(AdaptableGridView), new PropertyMetadata(itemWidth));
// default max number of rows or columns
private const int maxRowsOrColumns = 3;
public int MaxRowsOrColumns
{
get { return (int)GetValue(MaxRowColProperty); }
set { SetValue(MaxRowColProperty, value); }
}
public static readonly DependencyProperty MaxRowColProperty =
DependencyProperty.Register("MaxRowsOrColumns", typeof(int), typeof(AdaptableGridView), new PropertyMetadata(maxRowsOrColumns));
public AdaptableGridView()
{
this.SizeChanged += MyGridViewSizeChanged;
}
private void MyGridViewSizeChanged(object sender, SizeChangedEventArgs e)
{
// Calculate the proper max rows or columns based on new size
this.MaxRowsOrColumns = this.ItemWidth > 0 ? Convert.ToInt32(Math.Floor(e.NewSize.Width/this.ItemWidth)) : maxRowsOrColumns;
}
}
XAML:
<local:AdaptableGridView ItemWidth="250" x:Name="tumbview" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" ItemsSource="{Binding imagelist}" SelectionChanged="GridView_SelectionChanged" Margin="50,0,0,0" >
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<VariableSizedWrapGrid Orientation="Horizontal"
ItemWidth="{Binding ElementName=tumbview, Path=ItemWidth}"
MaximumRowsOrColumns="{Binding ElementName=tumbview, Path=MaxRowsOrColumns}"/>
</ItemsPanelTemplate>
</GridView.ItemsPanel>
अच्छा ट्यूटोरियल पर: custom grid view tutorial
स्रोत
2013-10-20 15:16:46
क्या आप इस समय मिल गया है? यदि आपका ग्रिडव्यू क्षैतिज स्क्रॉल कर रहा है तो इसका मतलब है कि सामग्री स्क्रीन से व्यापक है। इसे लंबवत स्क्रॉल करने के लिए आपको अपनी सामग्री को पुनर्व्यवस्थित करना होगा ताकि यह संकुचित हो। अपने वर्तमान एक्सएएमएल को देखे बिना कुछ भी सुझाव देना कठिन होगा। – ChrisF
मैंने xaml पोस्ट किया है –