Мне нужно передать CommandParameter GridControl для сериализации макета.Связывание с ElementName из дочернего usercontrol
Моя кнопка для выполнения команды находится в дочернем пользовательском контроле.
Я успешно использую RelativeSource, чтобы добраться до Grid, который содержит GridControl.
Редактировать: Эта кнопка находится в usercontrol с именем 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>
Я получаю ошибку: System.Windows.Data Error: 40: BindingExpression ошибки пути: свойство 'gridControl1' не найдено 'объекта' '' Сетку '(Name = 'GridView')'. BindingExpression: Path = gridControl1; DataItem = 'Grid' (Name = 'GridView'); целевым элементом является «Button» (Name = ''); target свойство - «CommandParameter» (тип «Object»)
Путь = gridControl1 должен быть действительно ElementName = gridControl1 ... но ElementName не работает с RelativeSource ... поэтому я читаю.
Пожалуйста, поделитесь своим Xaml gridview – saamorim
Я скопировал код, но забыл вставить в вопрос. Оригинальный вопрос, отредактированный с помощью xaml. – faldeland