Как создать стартовую страницу Visual Studio 2015 с помощью WPF?

#c# #wpf #xaml #visual-studio-2015 #start-page

#c# #wpf #xaml #visual-studio-2015 #начальная страница

Вопрос:

Мне нужен небольшой толчок для создания «Начальной страницы» Visual Studio в версии 2015. Есть старая информация (https://msdn.microsoft.com/en-us/library/Ee663382 (v = vs.120).aspx) и некоторые проекты в галерее Visual Studio (например, «BetterStartPage» или «SolutionStartPage». Возможно, «Пользовательский шаблон проекта начальной страницы» устарел:- (

Я начинаю проект с этого руководства: https://msdn.microsoft.com/en-us/library/ff425532 (v = против 140).aspx Но шаги и информация довольно… коротко.

Вот моя проблема: я компилирую проект библиотеки пользовательских элементов управления и выполняю шаги ручной установки, упомянутые в статье. Я могу выбрать свою пользовательскую стартовую страницу, но она не запускает мой пользовательский интерфейс. Страница просто пуста. Похоже, что код в DLL не выполняется.

Вот файл test-XAML:

 <UserControl
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:MyNamespace="clr-namespace:StartPageControl;assembly=StartPageControl"
xmlns:vs="clr-namespace:Microsoft.VisualStudio.PlatformUI;assembly=Microsoft.VisualStudio.Shell.14.0"
xmlns:vsfx="clr-namespace:Microsoft.VisualStudio.Shell;assembly=Microsoft.VisualStudio.Shell.14.0"
xmlns:MeineControls="clr-namespace:StartPageControl"
xmlns:local="clr-namespace:StartPageControl"
 x:Class="StartPageControl.UserControl1" 
mc:Ignorable="d"
 Height="350" Width="525">
<Grid>
    <Grid x:Name="LayoutGrid" >
        <Button Click="Button_Click" Content="push me" Foreground="black" />      
        <Label x:Name="label" Content="Label" HorizontalAlignment="Left" Margin="720,171,-295,0" VerticalAlignment="Top" Width="100"/>
    </Grid>
</Grid>
</UserControl>
  

UserControl1.xaml.cs

 using System;
using System.Collections.Generic;
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 StartPageControl
{
/// <summary>
/// Interaktionslogik für UserControl1.xaml
/// </summary>
public partial class UserControl1 : UserControl { 
    public UserControl1()
    {
        InitializeComponent();
        ButtonApp ButtonApp1 = new ButtonApp();
        LayoutGrid.Children.Add(ButtonApp1 as UIElement);
    }

    private void Button_Click(object sender, RoutedEventArgs e) {
        label.Content = "Something happend!";
    }
}
}
  

Редактировать:

Вот шаги, которые я сделал:

  • Создание нового проекта WPF Control Libraby
  • Добавьте новый XAML и добавьте / измените пространства имен
  • Добавьте некоторый «код позади», например, кнопку с событием щелчка
  • Скомпилировать
  • Скопируйте файл XAML в %USERPROFILE%My Documents Visual Studio 2015StartPages
  • Скопируйте проект .DLL в Common7 IDE PrivateAssemblies
  • Запустите новый VS и выберите новую стартовую страницу
  • Получение ошибки (перевод с немецкого): «Система.Windows.Разметка.Исключение XamlParseException» … «Ошибка при создании ‘Click’ из текста’Button_Click'» .. поэтому я попытался использовать UserControl в UserControl (как вы можете видеть в коде выше). Появляется сообщение «{clr-namespace:StartPageControl} ButtonApp не может быть создано»

:-(Мне кажется, VS не использует «Code Behind» / DLL…

Я знаю, что это своего рода рассеянный вопрос. Кто-нибудь знает лучшую начальную точку?

ПРАВКА 2: вставьте весь тестовый код.

Комментарии:

1. Проверьте закрывающий тег здесь: <MyControls:ButtonApp></MeineControls:ButtonApp> , Я создал его, и он отлично работает.

2. Спасибо. Да, … я потерял эту страницу, переведя немецкое «Meine» на «My» 😉 Но, … не могли бы вы, пожалуйста, описать полный список шагов от начала до рабочей начальной страницы?

3. Исключение XamlParseException также может означать, что в вашем xaml есть ошибки. Либо это, либо ошибка в вашем конструкторе viewmodels. В вашем коде нет «Button_Click», поэтому трудно сказать — не могли бы вы добавить полный пример своего кода?

4. ОК. Спасибо. Вставил весь тестовый код…