[译]Hour 7 Teach.Yourself.WPF.in.24.Hours
本小時您能學到:
l? 應用類型(Windows,XBAP,獨立的XAML)
l? 標準應用VS瀏覽器類型應用
l? 用戶控件
本小時將介紹您創建WPF應用程序是所面對的選擇。WPF為我們提供了創建不同應用的途徑,而且一旦開發開始就很難更改。我們將討論定制您的應用中所需要的組建。
?
WPF應用的部署形式
WPF應用共有三種形式,下表將著重描述這三種部署形式。
| 可執行應用 | 這種格式的應用我們經常使用。您的WPF應用被編譯到一個標準的可執行文件中。 |
| XAML瀏覽器應用 | 有些時候這種應用被成為XBAP(或者X-Bap)。這是一種特殊的宿主與瀏覽器(IE6+以及Firefox 2)的WPF應用。由于宿主在瀏覽器中,這種類型的應用會有許多嚴格的安全限制,但只這種類型的應用很容易部署以.xbap為擴展名。 |
| XAML文件 | 這是一個XAML編寫的文本文件。.xaml文件使用瀏覽器來解析。這種應用的限制就是在應用中除了XAML以外不能包含任何代碼。使用.xaml為擴展名 |
XAML文件創建一個Font Viewer應用
在你的應用中不包含代碼聽起來像是很嚴格的限制,然而xaml是相當的強大。第一部分的Font Viewer應用程序并未使用任何代碼,我們可以將改用用作為一個XAML文件。
?
雖然Visual Studio并未提供創建單獨XAML文件的方法,但它可以幫助我們編輯一個XAML文件。接下來我們將FontViewer轉換為一個簡單的XAML文件。
?
1.???????? 在您的桌面創建一個文本文件,并將其命名為FontViewer.xaml。
2.???????? 當您雙擊FontViewer.xaml,該文件將被默認瀏覽器加載。它會出現錯誤提示信息,因為我們并未添加任何代碼。
3.???????? 運行Visual Studio并使用【文件】->【打開文件】打開FontViewer.xaml
4.???????? 我們可以使用這些markup在傳統的FontViewer應用中。打開Font Viewer 項目下方的MainWindow.xaml文件。
5.???????? Copy其中的內容并將其粘貼到FontViewer.xaml文件中。
6.???????? 在FontViewer.xaml文件中定位到首尾的Window標簽,并將其替換為Page標簽。此時該應用便可執行了。
7.???????? 運行這個應用這一步并不是必須的,但卻是對可用性的一個很好的練習。修改Page標簽中的Title屬性為WindowTitle。但應用運行時WindowTitle屬性的內容將顯示在瀏覽器的標題欄中。
8.???????? 雙擊并運行FontViewer.xaml應用。完整的代碼如下:?
| <Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" WindowTitle="Teach Yourself WPF: Font Viewer" Height="480" Width="640"> ??? <DockPanel Margin="8"> ??????? <Border DockPanel.Dock="Top" ?????????? ?CornerRadius="6" ?????????? ?BorderThickness="1" ?????????? ?BorderBrush="Gray" ?????????? ?Background="LightGray" ?????????? ?Padding="8" ?????????? ?Margin="0 0 0 8"> ??????????? <TextBlock FontSize="14" ?????????????? ?TextWrapping="Wrap"> ??????????????? Select a font to view from the list below. ??????????????? You can change the text by typing in the region at the bottom. ??????????? </TextBlock> ??????? </Border> ??????? <ListBox x:Name="FontList" ?????????? ?DockPanel.Dock="Left" ?????????? ?ItemsSource="{x:Static Fonts.SystemFontFamilies}" ?????????? ?Width="160" /> ??????????????? <TextBox x:Name="SampleText" ?????????????????? ?DockPanel.Dock="Bottom" ?????????????????? ?MinLines="4" ?????????????????? ?Margin="8 0" ?????????????????? ?TextWrapping="Wrap"> ??????????????????? <TextBox.ToolTip> ????????????? ??????????<TextBlock> ??????????????????????????? <Italic Foreground="Red">Instructions: </Italic> ??????????????????????????? ? Type here to change the preview text. ??????????????????????? </TextBlock> ??????????????????? </TextBox.ToolTip> ???????????????????????? The quick brown fox jumps over the lazy dog. ??????????????? </TextBox> ??????? <StackPanel Margin="8 0 8 8"> ??????????? <TextBlock Text="{Binding ElementName=SampleText, ?????????????? ?Path=Text}" ?????????????? ?FontFamily="{Binding ElementName=FontList, ?????????????? ?Path=SelectedItem}" ?????????????? ?FontSize="10" ???????? ???????TextWrapping="Wrap" ?????????????? ?Margin="0 0 0 4" /> ?????????? ?????<TextBlock Text="{Binding ElementName=SampleText, ?????????????? ?Path=Text}" ?????????????? ?FontFamily="{Binding ElementName=FontList, ?????????????? ?Path=SelectedItem}" ?????????????? ?FontSize="16" ????????????????????????? ?TextWrapping="Wrap" ?????????????? ?Margin="0 0 0 4" /> ??????????? <TextBlock Text="{Binding ElementName=SampleText, ?????????????? ?Path=Text}" ?????????????? ?FontFamily="{Binding ElementName=FontList, ?????????????? ?Path=SelectedItem}" ?????????????? ?FontSize="24" ?????????????? ?TextWrapping="Wrap" ?????????? ?Margin="0 0 0 4" /> ??????????? <TextBlock Text="{Binding ElementName=SampleText, ?????????????? ?Path=Text}" ?????????????? ?FontFamily="{Binding ElementName=FontList, ?????????????? ?Path=SelectedItem}" ?????????????? ?FontSize="32" ?????????????? ?TextWrapping="Wrap" /> ??????? </StackPanel> ??? </DockPanel> </Page> ? |
將Font Viewer轉換成XBAP應用
將Font Viewer部署為一個XBAP應用是很簡單的。Visual Studio提供了一個很有用的機制來發布您的XBAP應用。
接下來我們將通過修改Font Viewer創建一個XBAP項目。
1.???????? 在Visual Studio中,選擇【文件】->【新建項目】,選擇WFP瀏覽器應用。并將其命名為FontViewerXBAP.
2.???????? Visual Studio創建新建項目之后,在【解決方案資源管理器】中。您將看到兩點不同。首先,除了Window1.xaml之外還有一個Page1.xaml文件。其次,有一個以.pfx為擴展名的簽名文件。
3.???????? 在編輯其中打開Page1.xaml文件,并使用以上代碼替換其中的內容。注意:我們使用與僅僅擁有XAML代碼版本的FontViewer一樣的代碼。
?? ? 4.???????? 在使用這個XBAP應用之前需要做一個小小的修改,添加一下代碼到Page標簽中:
x:Class=”FontViewerXBAP.Page1”??
?
未完待續..?
?
轉載于:https://www.cnblogs.com/netwenchao/archive/2009/10/24/1588977.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的[译]Hour 7 Teach.Yourself.WPF.in.24.Hours的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 创维汽车发布车载语音大模型“
- 下一篇: B 社 MMORPG 游戏《上古卷轴 O