При данной постановке вопроса, мне например, абсолютно непонятно - в чём вообще проблема? Как у вас связано отображение каких-то изображений с ЛКМ и где этот код? Какой DataGrid имеется ввиду - он сильно отличается в WPF и Silverlight. Приведённый фрагмент кода вообще ничего не меняет в плане отображения содержимого ячеки (по-умолчанию высота - авто и Visibility==Visible).
Цитата(LeonGrey @ 23.5.2013, 10:41 ) | | Объясните, пожалуйста, какой свойство у dataGrid или dataGridRow отвечает за способ отображения изображения в ячейке? |
Попробую ответить "наугад" (предполагая, что DataGrid из WPF). Во-первых, нет настроек для отображения именно изображения. Есть стиль отображения ячейки (DataGrid.CellStyle). Он применяется к каждой ячейке грида, если только какой-то ячейке не задан непосредственно свой стиль. Далее, в гриде задаются колонки. Есть несколько типов колонок, созданных под опредлённый тип элемента, например DataGridTextColumn выводит в ячейке просто строковое значение элемента (получаемое из Object.ToString). Для вашего же случая (изображение) нет предопределённой колонки, но есть специальная колонка DataGridTemplateColumn. У этой колонки есть свойство CellTemplate, определяющее шаблон, которым будет отображаться элемент в этой ячейке (именно элемент, а не сама ячейка). Вот его вам и нужно использовать. Предполагаю. что ваша проблема в том, что одно из свойств элемента грида отвечает за изображение, и вы не можете его отобразить. В простейшем случае решение будет выглядеть так:
| Код | //Элемент для DataGrid public class MyDataGridItem { ImageSource Image { get; set; } string Description { get; set; } }
|
| Код | //Код главного окна public partial class MainWindow : Window { public MainWindow() { InitializeComponent();
var items = new List<MyDataGridItem> { new MyDataGridItem { Image = new BitmapImage(new Uri("my_image.png", UriKind.Relative)), Description = "It's image" }, new MyDataGridItem { Image = new BitmapImage(new Uri("my_image2.png", UriKind.Relative)), Description = "It's another image!" }, new MyDataGridItem { Image = new BitmapImage(new Uri("my_image3.png", UriKind.Relative)), Description = "annoying images!" }, }; myDataGrid.ItemsSource = items; } }
|
| Код | <!--XAML код главного окна--> <Window x:Class="WpfApplication2.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" > <DataGrid x:Name="myDataGrid" AutoGenerateColumns="False"> <DataGrid.Columns> <DataGridTemplateColumn Header="Изображение"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <Image Source="{Binding Image}"/> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> <DataGridTextColumn Header="Описание" Binding="{Binding Description}"/> </DataGrid.Columns> </DataGrid> </Window>
|
|