template style customize custom wpf datagrid wpf-controls styles wpftoolkit

style - WPF DataGrid Styling



datagridtemplatecolumn style (3)

¿Alguien sabe / tiene un ejemplo de cómo cambiar el diseño WPF DataGrid para que sea algo así como la vista de tarjeta o cualquier otra cosa, no solo la pila de filas?



No sé cómo hacerlo con DataGrid de WPF Toolkit y dudo que sea lo que realmente necesita. Puedes hacerlo con un ListView o ListBox. Establezca ListView.View en un WrapPanel con IsItemsSource = "True". Luego usa un DataTemplate para hacer las cartas. Hay un buen ejemplo que te llevará la mayor parte del camino hasta aquí .


El resultado se ve así. texto alternativo http://iwebthereforeiam.com/files/ScreenShot.gif

Aquí hay un código que debe demostrar la idea.

XAML:

<Window x:Class="_545979.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:_545979" xmlns:debug="clr-namespace:System.Diagnostics;assembly=System" Title="Window1" Height="300" Width="300"> <Window.Resources> <local:GreekGods x:Key="GreekGods"/> <DataTemplate x:Key="itemTemplate"> <Border BorderBrush="RoyalBlue" BorderThickness="2" Margin="2" Padding="5"> <WrapPanel Orientation="Vertical"> <TextBlock Width="200" Text="{Binding Path=Name}"/> <TextBlock Width="200" Text="{Binding Path=Description}"/> <TextBlock Width="200" Text="{Binding Path=RomanName}"/> </WrapPanel> </Border> </DataTemplate> </Window.Resources> <ListBox ItemTemplate="{StaticResource itemTemplate}" ItemsSource="{StaticResource GreekGods}" /> </Window>

C # code:

using System; using System.Collections.Generic; using System.Collections.ObjectModel; namespace _545979 { public class GreekGod { public string Name { get; set; } public string Description { get; set; } public string RomanName { get; set; } public GreekGod() { } public GreekGod(string name, string description, string romanName) { this.Name = name; this.Description = description; this.RomanName = romanName; } } public class GreekGods : ObservableCollection<GreekGod> { public GreekGods() { this.Add(new GreekGod("Aphrodite", "Goddess of love, beauty and fertility", "Venus")); this.Add(new GreekGod("Apollo", "God of prophesy, music and healing", "Apollo")); this.Add(new GreekGod("Ares", "God of war", "Mars")); this.Add(new GreekGod("Artemis", "Virgin goddess of the hunt", "Diana")); this.Add(new GreekGod("Athena", "Goddess of crafts and the domestic arts", "Athena")); this.Add(new GreekGod("Demeter", "Goddess of agriculture", "Ceres")); this.Add(new GreekGod("Dionysus", "God of wine", "Bacchus")); this.Add(new GreekGod("Hephaestus", "God of fire and crafts", "Vulcan")); this.Add(new GreekGod("Hera", "Goddess of marriage", "Juno")); this.Add(new GreekGod("Hermes", "Messenger of the Gods", "Mercury")); this.Add(new GreekGod("Poseidon", "God of the sea, earthquakes and horses", "Neptune")); this.Add(new GreekGod("Zeus", "Supreme God of the Olympians", "Jupiter")); } } }

Las clases de GreekGod y GreekGods surgieron de los ejemplos de Bea Stollnitz .