Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从视图模型获取列表中的选定项_C#_Wpf_Mvvm_Wpfdatagrid - Fatal编程技术网

C# 从视图模型获取列表中的选定项

C# 从视图模型获取列表中的选定项,c#,wpf,mvvm,wpfdatagrid,C#,Wpf,Mvvm,Wpfdatagrid,早上好 我正在编写一个管理应用程序,它使用WPF和MVVM模式显示任务列表。用户也可以编辑此列表,但我想使用“删除”按钮删除所选行。问题是我不知道如何从ModelView访问所选行,我不想使用代码隐藏。我想最好的选择是使用一些绑定,但我不确定如何做到这一点 这是代码(我使用的是DevXpress控件,但几乎相同) 你有什么想法吗 多谢各位 您的VM应该有一个Project SelectedProject{get;set;}属性 垃圾箱将从网格中选择的路径(或某物)移动到垃圾箱: ItemsS

早上好

我正在编写一个管理应用程序,它使用WPF和MVVM模式显示任务列表。用户也可以编辑此列表,但我想使用“删除”按钮删除所选行。问题是我不知道如何从ModelView访问所选行,我不想使用代码隐藏。我想最好的选择是使用一些绑定,但我不确定如何做到这一点

这是代码(我使用的是DevXpress控件,但几乎相同)


你有什么想法吗


多谢各位

您的VM应该有一个
Project SelectedProject{get;set;}
属性

垃圾箱将从网格中选择的路径(或某物)移动到垃圾箱:

ItemsSource="{Binding Path=TaskView}" SelectedItem="{Binding Path=SelectedProject}"
大概是这样的:

<dxg:GridControl Grid.Row="5" Grid.Column="0" Grid.ColumnSpan="5"  Margin="4,4,4,4"
                             Name="gridDatos"
                             ItemsSource="{Binding Usuarios}" IsFilterEnabled="True"
                             >
                <dxg:GridControl.View>
                    <dxg:TableView AllowPerPixelScrolling="True" AllowEditing="False" NavigationStyle="Row"
                                   AllowHorizontalScrollingVirtualization="False"
                                   ShowGroupPanel="False"
                                   FocusedRow="{Binding SelectedUsuario, Mode=TwoWay}"/>
                </dxg:GridControl.View>
                <dxg:GridControl.Columns>
                    <dxg:GridColumn FieldName="usuario_us" ReadOnly="True" Header="Usuario" Width="133" />
                    <dxg:GridColumn FieldName="nombre_us"  ReadOnly="True" Header="Nombre" Width="308" />
                    <dxg:GridColumn FieldName="activo_us"  ReadOnly="True" Header="Activo" />
                </dxg:GridControl.Columns>
            </dxg:GridControl>


选择Well是因为任务有关联的项目,但项目相同。但是如何绑定到XAML中的这个属性呢?SelectedItem=“{Binding Path=SelectedProject}”是我想要的,谢谢!哦,等等!,它无法解析SelectedItem。。这个属性似乎不可用,我假设DevXpress GridControl中没有SelectedItem属性。以下是另一种解决方案:。因为最初的wpf datagrid Henks解决方案工作得非常完美。我猜我应该说我没有telerik。没有SelectedRow或类似产品?古怪的
<dxg:GridControl Grid.Row="5" Grid.Column="0" Grid.ColumnSpan="5"  Margin="4,4,4,4"
                             Name="gridDatos"
                             ItemsSource="{Binding Usuarios}" IsFilterEnabled="True"
                             >
                <dxg:GridControl.View>
                    <dxg:TableView AllowPerPixelScrolling="True" AllowEditing="False" NavigationStyle="Row"
                                   AllowHorizontalScrollingVirtualization="False"
                                   ShowGroupPanel="False"
                                   FocusedRow="{Binding SelectedUsuario, Mode=TwoWay}"/>
                </dxg:GridControl.View>
                <dxg:GridControl.Columns>
                    <dxg:GridColumn FieldName="usuario_us" ReadOnly="True" Header="Usuario" Width="133" />
                    <dxg:GridColumn FieldName="nombre_us"  ReadOnly="True" Header="Nombre" Width="308" />
                    <dxg:GridColumn FieldName="activo_us"  ReadOnly="True" Header="Activo" />
                </dxg:GridControl.Columns>
            </dxg:GridControl>