將使用者控制項加入至 [開始] 頁面
如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件。
本逐步解說示範如何加入自訂的起始頁 DLL 的參考。 範例會新增至方案中,使用者控制項建置使用者控制項,並再建置的組件參考起始頁.xaml 檔案。 新的索引標籤裝載使用者控制項,其做為基本的 Web 瀏覽器功能。
您可以使用相同的程序加入任何可以從.xaml 檔案中呼叫的組件。
將 WPF 使用者控制項加入至方案
首先,Windows Presentation Foundation (WPF) 使用者控制項加入起始頁方案。
建立起始頁面使用我們建立在建立自訂起始頁。
在方案總管] 中,以滑鼠右鍵按一下方案,按一下新增,然後按一下 [新的專案。
在左窗格中新的專案對話方塊方塊中,展開 [ Visual Basic或Visual C#節點,然後按一下 [ Windows。 在中間窗格中,選取WPF 使用者控制項程式庫。
將控制項
WebUserControl
然後按一下 [確定。
實作使用者控制項
若要實作 WPF 使用者控制項,建置在 XAML 中的使用者介面 (UI),然後以 C# 或其他.NET 語言撰寫的程式碼後置事件。
撰寫使用者控制項的 XAML
開啟使用者控制項的 XAML 檔案。 在<>>項目,將下列的資料列定義加入至控制項。
<Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*" /> </Grid.RowDefinitions>
在 main
Grid
項目,新增下列新Grid
元素,其中包含文字方塊中輸入網站位址和設定新的地址] 按鈕。<Grid Grid.Row="0"> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> <ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions> <TextBox x:Name="UserSource" Grid.Column="0" /> <Button Grid.Column="1" x:Name="SetButton" Content="Set Address" Click="SetButton_Click" /> </Grid>
將下列的畫面格加入至最上層
Grid
元素後方Grid
包含按鈕和文字方塊項目。<Frame Grid.Row="1" x:Name="WebFrame" Source="https://www.bing.com" Navigated="WebFrame_Navigated" />
下列範例顯示完整的 XAML 使用者控制項。
<UserControl x:Class="WebUserControl.UserControl1" xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="https://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="https://schemas.microsoft.com/expression/blend/2008" mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="300"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*" /> </Grid.RowDefinitions> <Grid Grid.Row="0"> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> <ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions> <TextBox x:Name="UserSource" Grid.Column="0" /> <Button Grid.Column="1" x:Name="SetButton" Content="Set Address" Click="SetButton_Click" /> </Grid> <Frame Grid.Row="1" x:Name="WebFrame" Source="https://www.bing.com" Navigated="WebFrame_Navigated" /> </Grid> </UserControl>
撰寫使用者控制項的程式碼後置事件。
在 XAML 設計工具中,按兩下設定位址按鈕加入至控制項。
UserControl1.cs 檔案會在程式碼編輯器中開啟。
填入 SetButton_Click 事件處理常式,如下所示。
private void SetButton_Click(object sender, RoutedEventArgs e) { try { this.WebFrame.Source = new Uri(this.UserSource.Text, UriKind.Absolute); } catch (Exception error) { MessageBox.Show(error.Message); } }
此程式碼會設定在文字方塊中輸入做為目標的 Web 瀏覽器的網址。 如果位址不正確,程式碼擲回錯誤。
您也必須處理 WebFrame_Navigated 事件︰
private void WebFrame_Navigated(object sender, EventArgs e) { }
建置方案。
將使用者控制項加入至 [開始] 頁面
若要將此控制項的起始頁專案,使用入門] 頁面上的專案檔中,加入新的控制項程式庫的參考。 然後您可以將控制項加入 [啟動] 頁面的 XAML 標記。
在方案總管] 中,在起始頁專案中,以滑鼠右鍵按一下參考然後按一下 [加入參考。
在專案索引標籤上,選取WebUserControl然後按一下 [確定。
在 [建置 Customizing the&2007; Microsoft Office System Ribbon ] 功能表上,按一下 [建置方案 How to: Get Started Customizing the Ribbon]。
建置方案讓使用者控制 IntelliSense 可以使用其他方案中的檔案。
若要將控制項加入至 [啟動] 頁面的 XAML 標記,加入命名空間參考組件,然後放在頁面上的控制項。
將控制項加入至標記
在方案總管] 中,開啟 [啟動] 頁面上的.xaml 檔案。
在XAML ] 窗格中,將下列命名空間宣告加入至最上層方格項目。
xmlns:vsc="clr-namespace:WebUserControl;assembly=WebUserControl"
在XAML ] 窗格中,捲動到<>>一節。
區段包含TabControl中的項目方格項目。
新增<>>項目包含<> > ,其中包含您的使用者控制項的參考。
<TabItem Header="Web" Height="Auto"> <vsc:UserControl1 /> </TabItem>
現在您可以測試控制項。
測試以手動方式建立的自訂起始頁
複製您的 XAML 檔案,並支援文字檔案或標記檔案,為**%USERPROFILE%\My Documents\Visual Studio 2015\StartPages\ **資料夾。
如果您的起始頁參考任何控制項或未安裝 Visual studio 組件中的型別,將組件,然後貼在Visual Studio 安裝資料夾**\Common7\IDE\PrivateAssemblies\**。
在 Visual Studio 命令提示字元中,輸入devenv /rootsuffix Exp若要開啟的 Visual Studio 的實驗執行個體。
在實驗執行個體中,移至工具 / 選項 / 環境 / 啟動頁面,並選取您的 XAML 檔案從自訂起始頁下拉式清單。
在 [檢視] 功能表上,按一下 [起始頁] 。
應該會顯示自訂起始頁。 如果您想要變更的任何檔案,您必須關閉的實驗執行個體、 進行變更、 複製並貼變更的檔案,然後再重新開啟實驗性的執行個體,以檢視所做的變更。