Я создал шаблон управления с двумя кнопками, которые я использую в классе MainWindow:
Шаблон управления:
<ControlTemplate x:Key="LeftPanelTemplate">
<Grid Grid.Column="0" Grid.Row="0" Margin="10,15,5,5" >
<Border BorderThickness="7" CornerRadius="4">
<Border.BorderBrush>
<SolidColorBrush Color="#73B2F5" Opacity="0.5"/>
</Border.BorderBrush>
<Grid>
<Grid.Background>
<SolidColorBrush Color="#73B2F5" Opacity="0.5"/>
</Grid.Background>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Button Name="CustomerButton" Grid.Row="1" Grid.Column="0" Width="40" Height="40" Content="Customer" Click="CustTabButton_Click" ></Button>
<Button Name="BossButton" Grid.Row="1" Width="40" Height="40" Content="Boss" Margin="23,206,23,114" Click="BossTabButton_Click"></Button>
</Grid>
</Border>
</Grid>
</ControlTemplate>
Я ссылаюсь на это в MainWindow XAML:
<ContentControl Template="{StaticResource LeftPanelTemplate}"/>
Я получаю сообщение об ошибке, что события щелчка двух кнопок внутри шаблона элемента управления не могут быть найдены - поскольку я переместил его в файл ResourceDirectory с именем MainWindowResources.xaml:
«MyWPFApp.MainWindowResource» не содержит определения для
«CustTabButton_Click» и без метода расширения «CustTabButton_Click»
Принятие первого аргумента типа «MyWPFApp.MainWindowResource» может
быть найденным (вам не хватает директивы using или ссылки на сборку?)
Я нашел эту ссылку: Можно ли установить код за словарем ресурсов в WPF для обработки событий?
Есть ли более короткий путь для событий щелчка в коде MainWindow, выполняемых из каталога ресурсов? потому что перемещение всего кода из MainWindow в REsourceDirectory.xaml.code может занять много времени и обнародовать множество переменных.