Я проектирую UserControl
, где это относится к ResourceDictionary
.UserControl
имеет <ItemsControl>
, где его ItemTemplate
определено в ResourceDictionary
.
Вкратце, этот <ItemsControl.ItemsSource>
принимает набор строк, а DataTemplate
присваивает <Button>
для каждой строки.Это динамическая коллекция кнопок со строкой коллекции в качестве источника.
UserControl
объявление ItemsControl
:
<ItemsControl Name="PanelMain" Grid.Column="0" Grid.ColumnSpan="3" Grid.Row="1"
ItemsSource="{Binding Path=MenuMain}"
ItemTemplate="{StaticResource MenuItemTemplate}">
</ItemsControl>
Шаблон ResourceDictionary
:
<DataTemplate x:Key="MenuItemTemplate" DataType="ItemsControl">
<Button Style="{StaticResource MenuItemStyle}" Content="{Binding}" >
</Button>
</DataTemplate>
<Style x:Key="MenuItemStyle" TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border Background="{TemplateBinding Background}" BorderThickness="0" Height="30">
<ContentControl Foreground="{TemplateBinding Foreground}" VerticalAlignment="Center">
<ContentControl.Content>
<TemplateBinding Property="Content"/>
</ContentControl.Content>
</ContentControl>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Теперь мне нужно подключить каждый щелчок кнопки ккоманда.Поскольку эти кнопки определены внутри ResourceDictionary
, я не уверен, как связать свою команду.В некоторых ответах указывалось на создание файла с выделенным кодом (.xaml.cs) для ResourceDictionary
, но я хотел бы знать, возможно ли предоставить команду в качестве ресурса с ключом , поэтому его UserControl
может связать это вместо словаря?
Примечание: UserControl
должен отображать заголовок нажатой кнопки в виде строки