Нужен ли мне файл с выделенным кодом? - PullRequest
1 голос
/ 12 марта 2012

В моем приложении WPF все, что у меня есть в коде, это следующее:

public partial class MainWindow
{    
    public MainWindow()
    {
         InitializeComponent();
    }    
}

Могу ли я полностью удалить файл кода из моего проекта или он должен остаться там?Мой опыт работы в разработке веб-приложений, и я как бы связываю это с файлом с выделенным кодом с помощью пустого метода Page_Load (), который я обычно удаляю.

Ответы [ 4 ]

9 голосов
/ 12 марта 2012

Вы можете удалить его, если вы используете один из следующих методов:

1: удалите объявление x:class из верхней части вашего файла XAML и найдите другой способсоздать экземпляр объекта (например, вы не можете использовать new MainWindow(), но вы можете использовать XamlReader.Load и привести результат к окну).

или

2: Используйте этот подход:

<Window x:Class="WpfApplication2.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="300" Width="300">
  <StackPanel>

    <Button x:Name="mybutton">Hello</Button>

    <x:Code>
      <![CDATA[
      public MainWindow()
      {
        InitializeComponent();

        mybutton.Content = "Goodbye";
      }
      ]]>
    </x:Code>
  </StackPanel>
</Window>

Это переместит вызов InitializeComponent в ваш XAML, так что вы можете удалить файл codebehind.

2 голосов
/ 12 марта 2012

Нет!InitializeComponent() фактически создает все элементы управления, определенные в файле XAML, и, следовательно, очень необходим.

См. Дополнительную информацию здесь: Что делает InitializeComponent () и как он работает в WPF?

1 голос
/ 12 марта 2012

Я не верю, что вы можете удалить это.В частности, должна быть вызвана функция InitializeComponent ().

0 голосов
/ 12 марта 2012

Вы не можете удалить это.Он инициализирует ваше окно (все кнопки, метки и т. Д.).

...