我必须通过GridControl的CommandParameter进行布局的序列化。绑定到来自子项userName的ElementName
我的按钮来执行该命令是在一个孩子usercontrol。
我成功使用RelativeSource访问包含GridControl的网格。
编辑: 此按钮位于名为GridSettings.xaml的用户控件中。这是Grid.xaml的一个孩子。
<Button Content="Save Defaults" Command="{Binding SaveDefaultsCommand}" Width="90" CommandParameter="{Binding Path=gridControl1, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}, AncestorLevel=2}}"/>
这是Grid.xaml父视图的相关部分。
<Grid Grid.Row="1" x:Name="GridView">
<dxg:GridControl x:Name="gridControl1" ItemsSource="{Binding WeldReports}" AutoPopulateColumns="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="Loaded">
<Custom:EventToCommand Command="{Binding GridLoadedCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
<dxg:GridControl.View>
<dxg:TableView Name="tableView1" ShowTotalSummary="True" />
</dxg:GridControl.View>
</dxg:GridControl>
</Grid>
错误,我得到:在 '对象' '' 网格 '(名称= '的GridView')' 找不到 'gridControl1' 属性: System.Windows.Data错误:40:BindingExpression路径错误。 BindingExpression:路径= gridControl1; DataItem ='Grid'(Name ='GridView');目标元素是'Button'(Name ='');目标属性是'CommandParameter'(类型'对象')
Path = gridControl1应该是ElementName = gridControl1 ...但是ElementName不能用于RelativeSource ...所以我读了。
请分享您的Xaml的gridview – saamorim
我复制了代码,但忘了粘贴到问题中。用xaml编辑的原始问题。 – faldeland