我有数据网格,其中有一些列。行数。当用户单击该行的上下文菜单时,我想显示一个窗口。我需要从该行的 View 模型中获取第一列值以获取一些逻辑。当前,我正在将放置目标作为命令参数传递给gridviewrow。以下是我的代码
<telerik:RadGridView.RowStyle>
<Style TargetType="telerik:GridViewRow">
<Setter Property="Tag" Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}" ></Setter>
<Setter Property="ContextMenu">
<Setter.Value>
<ContextMenu>
<MenuItem Header="show Window" Command="{Binding PlacementTarget.Tag.DataContext.ShowChart,RelativeSource={RelativeSource AncestorType=ContextMenu, Mode=FindAncestor}}" CommandParameter="{Binding PlacementTarget, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContextMenu}}"></MenuItem>
</ContextMenu>
</Setter.Value>
</Setter>
</Style>
</telerik:RadGridView.RowStyle>
如何传递用户单击的特定行的第一列的值?
它是紫色MVVM方法吗?在这种情况下,如果是紫色MVVM方法是什么解决方案?
最佳答案
从理论上说是的,因为访问 View 的唯一方法是通过INotifyPropertyChanged和IErrorDataInfo。但是,这取决于您打算做什么。如果您想更改UI元素的可视性,我将MVVM模式设置为紫色,因为相反的方法对我来说似乎很复杂。我建议告诉您您想做什么,也许我可以为您提供帮助:)
关于c# - 在WPF中将View作为命令参数传递。紫罗兰色MVVM方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25933484/