我必須通過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