<telerik:RadTileViewItem></telerik:RadTileViewItem>
<telerik:RadTileViewItem></telerik:RadTileViewItem>
<telerik:RadTileViewItem></telerik:RadTileViewItem>
<telerik:RadTileViewItem></telerik:RadTileViewItem>
<telerik:RadTileViewItem></telerik:RadTileViewItem>
<telerik:RadTileViewItem></telerik:RadTileViewItem>
</telerik:RadTileView>
However , when I bind the tileview to using itemsource to a List of items like shown below, I am unable to maximize, minimize the tiles. What am I doing wrong ?
<telerik:RadTileView Name="radTileView1" ItemsSource="{Binding}"
MinimizedRowHeight="200" MinimizedColumnWidth ="200" >
</telerik:RadTileView>
Note: The user control that houses the tileview control has it's data context set to the list .The tileview does show the correct number of tiles corresponding to the number of items in the list, but does not let me maximize or minimize.
<Window xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" x:Class="ISSUE.MainWindow" Title="MainWindow" Height="526" Width="762"> <Grid Background="{Binding Background,ElementName=Docking}"> <Grid.RowDefinitions> <RowDefinition Height="90" /> <RowDefinition Height="288*" /> </Grid.RowDefinitions> <telerik:RadDocking HasDocumentHost="True" Name="Docking" Grid.Row="2" > <!--DocumentHost--> <telerik:RadDocking.DocumentHost> <telerik:RadSplitContainer> <telerik:RadPaneGroup x:Name="GroupDocument"> </telerik:RadPaneGroup> </telerik:RadSplitContainer> </telerik:RadDocking.DocumentHost> <telerik:RadSplitContainer telerik:DockingPanel.InitialSize="260,260" MaxWidth="400" Name="LeftContainer" InitialPosition="DockedLeft"> <telerik:RadPaneGroup x:Name="GroupLeft"> <telerik:RadPane Header="Test" telerik:RadDocking.SerializationTag="MENU" CanUserClose="False" /> </telerik:RadPaneGroup> </telerik:RadSplitContainer> <telerik:RadSplitContainer telerik:DockingPanel.InitialSize="200,200" MaxWidth="400" x:Name="RightContainer" InitialPosition="DockedRight"> <telerik:RadPaneGroup x:Name="GroupRight"> </telerik:RadPaneGroup> </telerik:RadSplitContainer> <telerik:RadSplitContainer telerik:DockingPanel.InitialSize="200,200" x:Name="BottomContainer" InitialPosition="DockedBottom"> <telerik:RadPaneGroup x:Name="GroupBottom"> <telerik:RadPane Header="Output" telerik:RadDocking.SerializationTag="OUTPUT" CanUserClose="False" /> </telerik:RadPaneGroup> </telerik:RadSplitContainer> </telerik:RadDocking> <Button Content="Load Layout" Height="64" HorizontalAlignment="Left" Margin="196,12,0,0" Name="button1" VerticalAlignment="Top" Width="178" Click="button1_Click" /> <telerik:RadButton Content="Add New Panel" Grid.Row="1" Height="49" HorizontalAlignment="Left" Margin="12,33,0,0" Name="radButton1" VerticalAlignment="Top" Width="107" Click="radButton1_Click" /> <Button Content="Save Layout" Height="64" HorizontalAlignment="Left" Margin="12,12,0,0" Name="button2" VerticalAlignment="Top" Width="178" Click="button2_Click" /> </Grid> </Window> using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using Telerik.Windows.Controls; using System.IO; namespace ISSUE { /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void radButton1_Click(object sender, RoutedEventArgs e) { RadPane rp = new RadPane(); rp.Header = DateTime.Now.ToString("yyyyMMddHHmmssfff"); rp.Title = rp.Header; RadDocking.SetSerializationTag(rp, rp.Header.ToString()); this.GroupDocument.Items.Add(rp); } string layout = string.Empty; private string SaveLayoutAsString() { MemoryStream stream = new MemoryStream(); this.Docking.SaveLayout(stream); stream.Seek(0, SeekOrigin.Begin); StreamReader reader = new StreamReader(stream); return reader.ReadToEnd(); } private void LoadLayoutFromString(string xml) { using (Stream stream = new MemoryStream(Encoding.UTF8.GetBytes(xml))) { stream.Seek(0, SeekOrigin.Begin); this.Docking.LoadLayout(stream); } } private void button1_Click(object sender, RoutedEventArgs e) { LoadLayoutFromString(layout); } private void button2_Click(object sender, RoutedEventArgs e) { layout = SaveLayoutAsString(); } } }
<Grid> <telerik:RadMap x:Name="mapControl" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Provider="{Binding MapProvider}" Center="{Binding MapLocation}"/> </Grid>
public class MapViewModel : ViewModelBase { const string _apiKey = "{key}"; private readonly IEventAggregator _eventAggregator; private BingGeocodeProvider _geocodeProvider; private MapProviderBase _mapProvider; public MapProviderBase MapProvider { get { return _mapProvider; } set { _mapProvider = value; } } private Location _mapLocation; public Location MapLocation { get { return _mapLocation; } set { _mapLocation = value; this.RaisePropertyChanged(() => this.MapLocation); } } public MapViewModel(IEventAggregator eventAggregator) { _eventAggregator = eventAggregator; _eventAggregator.GetEvent<Infrastructure.RequestPersonalDataEvent>().Subscribe(this.RequestPersonalDataEvent, ThreadOption.BackgroundThread); _mapProvider = new BingMapProvider(MapMode.Aerial, true, _apiKey); } public void RequestPersonalDataEvent(Infrastructure.Models.Person person) { this.Working = true; _geocodeProvider = new BingGeocodeProvider(_apiKey); _geocodeProvider.GeocodeCompleted += this.geocodeProvider_GeocodeCompleted; GeocodeRequest request = new GeocodeRequest(); request.Query = "Postcode"; _geocodeProvider.GeocodeAsync(request); } private void geocodeProvider_GeocodeCompleted(object sender, GeocodeCompletedEventArgs e) { MapLocation = e.Response.Results[0].Locations[0]; Working = false; } }Hi All!
I've created a DataGrid in "regular" WPF that supports groups and the items within a group are shown in a wrappanel. For this I could use the code below:
<DataGrid.ItemsPanel> <ItemsPanelTemplate> <WrapPanel IsItemsHost="True"/> </ItemsPanelTemplate> </DataGrid.ItemsPanel>
The result should look something like this:
Group one:
Item1 Item2 Item3 Item4
Item5 Item6
Group two:
Item7 Item8 Item9 Item10
Group three:
Item11
So my questions:
Is there a way to access the gridview's ItemsPanel to do something similar, or are there any alternativse in the gridview?
- OR -
Is there a more suitable control for this that can handle this many items and the result can look like the same?
Thanks in advance,
Istvan
