Я спросил this вопрос в октябре 2012 года, когда я работал над приложением Windows. теперь, когда я перехожу к WPF-приложению, я снова получаю ту же проблему. i.e Как получить выбранные значения строк DevExpress GridControl в WPF? Я не нашел свой ответ в Google, и ни один из ответов в вышеупомянутой ссылке не работает. нет ничего похожего на событие CellClick, RowClick или RowCellClick в gridview управления devexpress из wpf, как и в gridformcont winform. Я буду рад, если кто-то может решить эту проблемуКак получить выбранные значения строк DevExpress GridControl в WPF?
Редактировать
Я обновил свое заявление с требуемыми пространствами имен, как вы обновили в своем ответе, но проблема остается той же. Я получаю следующие ошибки буксирные в
<Grid.DataContext>
<dxmvvm:ViewModelSource Type="{x:Type local:EntitiesViewModel}"/>
</Grid.DataContext>
1- 'dxmvvm: ViewModelSource' типа "не был найден в dxmvvm: ViewModelSource
2- название "EntitiesViewModel" не существует в пространстве имен" CLR -namespace: DXApplication1"
мое кодирование приложение выглядит следующим образом
XAML
<dx:DXWindow
x:Class="DXApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:DXApplication1"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
xmlns:dxmvvm="http://schemas.devexpress.com/winfx/2008/xaml/mvvm"
Title="DXApplication" Height="700" Width="1100"
SnapsToDevicePixels="True" UseLayoutRounding="True">
<dx:DXWindow.Resources>
</dx:DXWindow.Resources>
<Grid Margin="12">
<Grid.DataContext>
<dxmvvm:ViewModelSource Type="{x:Type local:EntitiesViewModel}"/>
</Grid.DataContext>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0" Margin="0,0,0,8">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="8"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Label Content="Item1" Grid.Row="0" VerticalAlignment="Center"/>
<Label Content="Item2" Grid.Row="1" VerticalAlignment="Center"/>
<Label Content="Item3" Grid.Row="2" VerticalAlignment="Center"/>
<dxe:TextEdit Text="{Binding SelectedEntity.Item1}" Grid.Row="0" Grid.Column="2"/>
<dxe:TextEdit Text="{Binding SelectedEntity.Item2}" Grid.Row="1" Grid.Column="2"/>
<dxe:TextEdit Text="{Binding SelectedEntity.Item3}" Grid.Row="2" Grid.Column="2"/>
</Grid>
<dxg:GridControl Grid.Row="1"
AutoGenerateColumns="None"
ItemsSource="{Binding Entities}"
SelectedItem="{Binding SelectedEntity}">
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="Item1"/>
<dxg:GridColumn FieldName="Item2"/>
<dxg:GridColumn FieldName="Item3"/>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView ShowTotalSummary="True" AllowEditing="False"/>
</dxg:GridControl.View>
</dxg:GridControl>
</Grid>
</dx:DXWindow>
EntitiesViewModel
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections.ObjectModel;
namespace DXApplication1
{
public class EntitiesViewModel
{
public EntitiesViewModel()
{
LoadEntities();
}
void LoadEntities()
{
Entities = new ObservableCollection<Entity>
{
new Entity(){ Item1="A", Item2="A0", Item3="A00"},
new Entity(){ Item1="B", Item2="B0", Item3="B00"},
new Entity(){ Item1="C", Item2="C0", Item3="C00"},
};
}
public ObservableCollection<Entity> Entities { get; private set; }
public virtual Entity SelectedEntity { get; set; } // Bindable property
}
public class Entity
{
public string Item1 { get; set; }
public string Item2 { get; set; }
public string Item3 { get; set; }
}
}
Изображение для библиотек, ошибки, класс и т.д.
В WPF неправильный способ использования событий для получения значений из сетки и распространения этих значений в редакторах, а не просто использование привязок данных ... – DmitryG
@Dmitry это не правильный способ ответить на wpf biginer , вы должны правильно ответить на пример кода, поскольку nempo сделал так, чтобы можно было следовать вашему пути. говорить, чтобы biginer использовать привязку данных не достаточно – kashif
Все, что я хочу, просто мешает вам использовать привычные подходы, несмотря на изменение целевой платформы, вместо того, чтобы изучать платформу ... Правильный способ - задать правильные вопросы и продемонстрировать ваши попытки и результаты ... – DmitryG