У меня есть такая задача - создать элемент управления, объединяющий два элемента управления (DataGrid из WPFToolkit и стандартную панель инструментов). В широком смысле, не имеет значения, какие именно элементы управления он объединяет, мне нужно выяснить общие методы, которые можно использовать для создания того, что мне нужно. На первый взгляд, мне нужно что-то вроде пользовательского элемента управления, то есть композиции элементов управления, которые я могу реализовать в целом и затем использовать повторно. Но моя задача требует, чтобы у меня была возможность настроить свой составной элемент управления в XAML. Поэтому, если я создаю панель инструментов и DataGrid, я хочу, чтобы свойства и события обоих из них были представлены. Таким образом, я мог бы установить в XAML, например, столбцы таблицы данных и панели инструментов:
(я специально поместил пробелы в имена тегов, потому что локальный парсер по какой-то причине не набрал их)
<MyDataGridToolBarControl>
<DataGrid>
<DataGrid.Columns>
<DataGridTextColumn Header="firstColumn">
</DataGridTextColumn>
<DataGridTextColumn Header="secondColumn"/>
</DataGrid.Columns>
</DataGrid>
<ToolBar Background="{x:Null}">
<Button ToolTip="New">
<Image Source="New.png"/>
</Button>
<Button ToolTip="Save">
<Image Source="Save.png"/>
</Button>
<Button ToolTip="Delete">
<Image Source="Delete.png"/>
</Button>
</ToolBar>
</MyDataGridToolBarControl>
Единственное решение, которое мне сейчас подходит меньше или меньше, - это сделать пользовательский элемент управления, унаследованный от Datarid (поскольку DataGrid более значимым в этой паре), и переопределить Template, включая как сетку данных, так и панель инструментов. Это дает мне всю мощь сетки данных, но, если я хочу получить часть Панели инструментов, мне нужно сделать это с помощью кода, ища его в визуальных и логических деревьях, то есть получить доступ к нему программно, что не является хорошим решением.
Пожалуйста, помогите новичку решить эту задачу) Заранее спасибо ...