Обнаружение ошибки в файле XAML
Выводится ошибка: Серьезность Код Описание Проект Файл Строка Состояние подавления Ошибка CS1061 "MainWindow" не содержит определения "Window_Loaded", и не удалось найти доступный метод расширения "Window_Loaded", принимающий тип "MainWindow" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку). WPF1 C:\Development\C#\WPF1\WPF1\MainWindow.xaml 8 Активные MainWindow.xaml
<Window x:Class="WPF1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WPF1"
mc:Ignorable="d"
Title="MainWindow" Height="250" Width="350" Loaded="Window_Loaded">
<Window.Resources>
<Style TargetType="Button">
<Setter Property="Margin" Value="20 8 20 8" />
<Setter Property="Width" Value="100" />
<Setter Property="Height" Value="20" />
</Style>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<DataGrid AutoGenerateColumns="False" x:Name="fructGrid">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Title}" Header="Фрукты" Width="120"/>
<DataGridTextColumn Binding="{Binding Title}" Header="Производитель" Width="125"/>
<DataGridTextColumn Binding="{Binding Title}" Header="Цена за кг" Width="80"/>
</DataGrid.Columns>
</DataGrid>
<StackPanel HorizontalAlignment="Center" Grid.Row="1" Orientation="Horizontal">
<Button x:Name="updateButton" Content="Обновить" Click="updateButton_Click" />
<Button x:Name="deleteButton" Content="Удалить" Click="deleteButton_Click" />
</StackPanel>
</Grid>
</Window>
MainWindow.xaml.cs
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace WPF1
{
/// <summary>
/// Логика взаимодействия для MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
string connectionString;
SqlDataAdapter adapter;
DataTable fructTable;
public MainWindow()
{
InitializeComponent();
connectionString= ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
}
private void Window_Loaded (object sender, RoutedEventArgs e)
{
string sql = "SELECT * FROM fruct";
fructTable = new DataTable();
SqlConnection connection = null;
try
{
connection = new SqlConnection(connectionString);
SqlCommand command = new SqlCommand(sql, connection);
adapter = new SqlDataAdapter(command);
adapter.InsertCommand = new SqlCommand("fruct_code", connection);
adapter.UpdateCommand.CommandType = CommandType.StoredProcedure;
adapter.InsertCommand.Parameters.Add(new SqlParameter("@title", SqlDbType.NVarChar,50, "Title"));
adapter.InsertCommand.Parameters.Add(new SqlParameter("@company", SqlDbType.NVarChar, 50, "Company"));
adapter.InsertCommand.Parameters.Add(new SqlParameter("@price", SqlDbType.Int, 0, "Price"));
SqlParameter parameter = adapter.InsertCommand.Parameters.Add(new SqlParameter("@Id", SqlDbType.Int, 0, "Id"));
parameter.Direction = ParameterDirection.Output;
connection.Open();
adapter.Fill(fructTable);
fructGrid.ItemsSource = fructTable.DefaultView;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
if (connection != null)
connection.Close();
}
}
private void Update_DB()
{
SqlCommandBuilder commandBuilder = new SqlCommandBuilder(adapter);
adapter.Update(fructTable);
}
private void updateButton_Click(object sender, RoutedEventArgs e)
{
Update_DB();
}
private void deleteButton_Click(object sender, RoutedEventArgs e)
{
if (fructGrid.SelectedItems != null)
{
for (int i = 0; i < fructGrid.SelectedItems.Count; i++)
{
DataRowView dataRowView = fructGrid.SelectedItems[i] as DataRowView;
if (dataRowView != null)
{
DataRow dataRow = (DataRow)dataRowView.Row;
dataRow.Delete();
}
}
}
}
}
}