バージョン 2015 で Visual Studio の「スタート ページ」を作成するには、少しキックスタートが必要です。古い情報があります ( https://msdn.microsoft.com/en-us/library/Ee663382(v=vs.120).aspx )そことVisual Studio Galeryのいくつかのプロジェクト(たとえば、「BetterStartPage」または「SolutionStartPage」。「カスタムスタートページプロジェクトテンプレート」は古くなっています:-(
私はこのチュートリアルでプロジェクトを開始します: https://msdn.microsoft.com/en-us/library/ff425532(v=vs.140).aspx しかし、手順と情報はかなり... 短いです。
これが私の問題です。カスタム コントロール ライブラリ プロジェクトをコンパイルし、記事に記載されている手動インストール手順に従います。カスタム スタート ページを選択できますが、カスタム コントロールが起動しません。ページは空です。DLL 内のコードが実行されないようです。
テスト 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 を追加し、名前空間を追加/変更する
- クリックイベントを持つボタンなど、いくつかの「コードビハインド」を追加します
- コンパイル
- %USERPROFILE%\My Documents\Visual Studio 2015\StartPages\ にある XAML ファイルをコピーします。
- プロジェクト .DLL を \Common7\IDE\PrivateAssemblies\ にコピーします。
- 新しい VS を開始し、新しい開始ページを選択します
- エラーの取得 (ドイツ語からの翻訳): "System.Windows.Markup.XamlParseException" ... "テキスト 'Button_Click' から 'Click' を作成中にエラーが発生しました" ..だから、UserControl で UserControl を使用しようとしました (ご覧のとおり)上記のコードで)。「{clr-namespace:StartPageControl}ButtonApp を作成できません」というメッセージが表示されます
:-(私には思えますが、VSは「分離コード」/DLLを使用していません...
私はそれが一種の拡散した質問であることを知っています。より良い出発点を知っている人はいますか?
編集 2: すべてのテスト コードを貼り付けます。