Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Windows Presentation Foundation (WPF), Windows'un önceki nesillerine göre daha kolay erişilecek ve okunacak şekilde tasarlanmış yüksek kaliteli içerik oluşturulmasını sağlayan çok çeşitli belge özellikleri sunar. WPF, gelişmiş özelliklere ve kaliteye ek olarak belge görüntüleme, paketleme ve güvenlik için tümleşik hizmetler de sağlar. Bu konu başlığında WPF belge türlerine ve belge paketlemeye giriş bilgileri sağlanmaktadır.
Belge Türleri
WPF, belgeleri amaçlanan kullanımlarına göre iki geniş kategoriye böler; bu belge kategorileri "sabit belgeler" ve "akış belgeleri" olarak adlandırılır.
Belirli belgeler, kullanılan ekran veya yazıcı donanımından bağımsız olarak, hassas bir "gördüğünüz, elde ettiğiniz şeydir" (WYSIWYG) sunumu gerektiren uygulamalara yöneliktir. Sabit belgeler için tipik kullanımlar, özgün sayfa tasarımına bağlılığın kritik olduğu masaüstü yayımlama, sözcük işleme ve form düzenidir. Düzeninin bir parçası olarak, sabit bir belge kullanımdaki görüntü veya yazdırma cihazından bağımsız olarak içerik öğelerinin tam konumsal yerleşimini korur. Örneğin, 96 dpi ekranda görüntülenen sabit bir belge sayfası, 600 dpi lazer yazıcıya çıkış yapıldığında, 4800 dpi'lik bir fototipetter'a çıkış yapıldığında olduğu gibi tam olarak aynı görünür. Sayfa düzeni her durumda aynı kalırken, belge kalitesi her cihazın özelliklerine göre en üst düzeye çıkar.
Buna göre akış belgeleri görüntüleme ve okunabilirliği iyileştirmek için tasarlanmıştır ve okuma kolaylığı birincil belge tüketimi senaryosu olduğunda en iyi şekilde kullanılır. Akış belgeleri önceden tanımlanmış bir düzene ayarlamak yerine pencere boyutu, cihaz çözünürlüğü ve isteğe bağlı kullanıcı tercihleri gibi çalışma zamanı değişkenlerine göre içeriklerini dinamik olarak ayarlar ve yeniden akıtabilir. Web sayfası, sayfa içeriğinin geçerli pencereye sığacak şekilde dinamik olarak biçimlendirildiği basit bir akış belgesi örneğidir. Akış belgeleri, çalışma zamanı ortamına göre kullanıcı için görüntüleme ve okuma deneyimini iyileştirir. Örneğin, aynı akış belgesi yüksek çözünürlüklü 19 inç ekranda veya küçük bir 2x3 inç PDA ekranında en iyi okunabilirlik için dinamik olarak yeniden biçimlendirilecektir. Buna ek olarak, akış belgeleri arama, okunabilirliği en iyi duruma getiren görüntüleme modları ve yazı tiplerinin boyutunu ve görünümünü değiştirme gibi birçok yerleşik özelliğe sahiptir. Akış belgeleriyle ilgili çizimler, örnekler ve ayrıntılı bilgiler için bkz. Akış Belgesine Genel Bakış .
Belge Denetimleri ve Metin Düzeni
.NET Framework, uygulamanız içinde sabit belgeleri, akış belgelerini ve genel metinleri kullanmayı basitleştiren önceden oluşturulmuş bir dizi denetim sağlar. Sabit belge içeriğinin görüntülenmesi denetimi kullanılarak DocumentViewer desteklenir. Akış belgesi içeriğinin görüntülenmesi üç farklı denetim tarafından desteklenir: FlowDocumentReader, FlowDocumentPageViewerve FlowDocumentScrollViewer farklı kullanıcı senaryolarıyla eşlenen denetimler (aşağıdaki bölümlere bakın). Diğer WPF denetimleri, genel metin kullanımlarını desteklemek için basitleştirilmiş düzen sağlar (aşağıdaki Kullanıcı Arabirimindeki Metin bölümüne bakın).
Düzeltildi Belge Denetimi - DocumentViewer
Denetim DocumentViewer , içeriği görüntülemek FixedDocument için tasarlanmıştır. DocumentViewer denetimi, yazdırma çıktısı, panoya kopyalama, yakınlaştırma ve metin arama özellikleri gibi yaygın işlemler için yerleşik destek sağlayan sezgisel bir kullanıcı arabirimi sağlar. Denetim, tanıdık bir kaydırma mekanizması aracılığıyla içerik sayfalarına erişim sağlar. Tüm WPF denetimleri gibi, DocumentViewer tam veya kısmi restyling'i destekler ve bu da denetimin neredeyse tüm uygulama veya ortamlara görsel olarak tümleştirilmesini sağlar.
DocumentViewer içeriği salt okunur bir şekilde görüntülemek üzere tasarlanmıştır; içeriği düzenleme veya değiştirme kullanılamaz ve desteklenmez.
Akış Belgeleri Kontrolleri
Uyarı
Akış belgesi özellikleri ve bunların nasıl oluşturulduğu hakkında daha ayrıntılı bilgi için bkz. Akış Belgesine Genel Bakış.
Akış belgesi içeriğinin görüntülenmesi üç denetim tarafından desteklenir: FlowDocumentReader, FlowDocumentPageViewer, ve FlowDocumentScrollViewer.
FlowDocument Okuyucu
FlowDocumentReader, kullanıcının tek sayfalı (bir kerede sayfa) görüntüleme modu, bir kerede iki sayfalık (kitap okuma biçimi) görüntüleme modu ve sürekli kaydırma (altsız) görüntüleme modu gibi çeşitli görüntüleme modları arasında dinamik olarak seçim yapmasını sağlayan özellikler içerir. Bu görüntüleme modları hakkında daha fazla bilgi için bkz. FlowDocumentReaderViewingMode. Farklı görüntüleme modları arasında dinamik olarak geçiş yapma yeteneğine ihtiyacınız yoksa, FlowDocumentPageViewer ve FlowDocumentScrollViewer belirli bir görüntüleme modunda sabitlenmiş daha hafif akış içerik görüntüleyicileri sağlar.
FlowDocumentPageViewer ve FlowDocumentScrollViewer
FlowDocumentPageViewer içeriği bir kerede sayfa görüntüleme modunda, FlowDocumentScrollViewer ise içeriği sürekli kaydırma modunda gösterir. Hem FlowDocumentPageViewer hem de FlowDocumentScrollViewer belirli bir görüntüleme moduna sabitlenir. FlowDocumentReader veya FlowDocumentReaderViewingMode'den daha yoğun kaynak kullanım maliyetiyle, kullanıcının çeşitli görüntüleme modları (FlowDocumentPageViewer numaralandırması tarafından sağlandığı gibi) arasında dinamik olarak seçim yapmasını sağlayan özellikler içeren FlowDocumentScrollViewerile karşılaştırın.
Varsayılan olarak, dikey kaydırma çubuğu her zaman gösterilir ve gerekirse yatay kaydırma çubuğu görünür hale gelir. FlowDocumentScrollViewer için varsayılan kullanıcı arabirimi bir araç çubuğu içermez; ancak, IsToolBarVisible özelliği yerleşik bir araç çubuğunu etkinleştirmek için kullanılabilir.
Kullanıcı Arabirimindeki Metin
Belgelere metin eklemenin yanı sıra, metin formlar gibi uygulama kullanıcı arabiriminde de kullanılabilir. WPF, ekrana metin çizmek için birden çok denetim içerir. Her denetim farklı bir senaryoya hedeflenmiştir ve kendi özellik ve sınırlama listesine sahiptir. Genel olarak, TextBlock öğesi, kullanıcı arabiriminde (UI) kısa bir cümle gibi sınırlı metin desteği gerektiğinde kullanılmalıdır. Label en az metin desteği gerektiğinde kullanılabilir. Daha fazla bilgi için bkz. TextBlock'a Genel Bakış.
Belge Paketleme
API'ler System.IO.Packaging uygulama verilerini, belge içeriğini ve ilgili kaynakları kolayca erişilebilen, taşınabilir ve dağıtımı kolay tek bir kapsayıcıda düzenlemek için verimli bir yöntem sağlar. ZIP dosyası, birden çok nesneyi tek bir birim olarak tutabilen bir Package tür örneğidir. Paketleme API'leri, XML ve ZIP dosya mimarisi ile Open Packaging Conventions standardı kullanılarak tasarlanmış varsayılan ZipPackage bir uygulama sağlar. WPF paketleme API'leri paketleri oluşturmayı ve içindeki nesneleri depolamayı ve bunlara erişmeyi basit hale getirir. içinde depolanan bir Package nesneye ("parça") denir PackagePart . Paketler, bir parçanın kaynağını belirlemek ve paketin içeriğinin değiştirilmediğini doğrulamak için kullanılabilecek imzalı dijital sertifikalar da içerebilir. Paketler ayrıca, mevcut parçaların içeriğini değiştirmeden pakete ek bilgilerin eklenmesine veya belirli parçalarla ilişkilendirilmesine olanak tanıyan bir özellik içerir PackageRelationship . Paket hizmetleri, Microsoft Windows Rights Management'ı (RM) da destekler.
WPF Paketi mimarisi, bir dizi temel teknoloji için temel görevi görür:
XML Kağıt Belirtimine (XPS) uygun XPS belgeleri.
Microsoft Office "12", XML biçimindeki belgeleri (.docx) açar.
Kendi uygulama tasarımınız için özel depolama biçimleri.
paketleme API'lerine bağlı olarak, XpsDocument wpf sabit içerik belgelerini depolamak için özel olarak tasarlanmıştır. XpsDocument görüntüleyicide açılabilen, DocumentViewer kontrolünde görüntülenebilen, yazdırma havuzuna yönlendirilebilen veya doğrudan XPS uyumlu bir yazıcıya çıktı verilebilen, bağımsız bir belgedir.
Aşağıdaki bölümlerde, WPF ile sağlanan Package ve XpsDocument API'leri hakkında ek bilgiler sağlanır.
Paket Bileşenleri
WPF paketleme API'leri, uygulama verilerinin ve belgelerinin tek bir taşınabilir ünitede düzenlenmesini sağlar. ZIP dosyası en yaygın paket türlerinden biridir ve WPF ile sağlanan varsayılan paket türüdür. Package kendisi, açık standart XML ve ZIP dosya mimarisi kullanılarak uygulanan soyut bir sınıftır ZipPackage . Yöntem, Open kullanarak varsayılan olarak ZIP dosyaları oluşturmak ve kullanmak için ZipPackage kullanır. Bir paket üç temel öğe türü içerebilir:
| Ürün | Açıklama |
|---|---|
| PackagePart | Uygulama içeriği, veriler, belgeler ve kaynak dosyaları. |
| PackageDigitalSignature | Tanımlama, kimlik doğrulaması ve doğrulama için [X.509 Sertifikası]. |
| PackageRelationship | Paketle veya belirli bir parçayla ilgili bilgiler eklendi. |
Paket Parçaları
Bir PackagePart ("bölüm"), bir Package içinde depolanan bir nesneyi ifade eden soyut bir sınıftır. Bir ZIP dosyasında, paket bölümleri ZIP dosyasında depolanan tek tek dosyalara karşılık gelir. ZipPackagePart , içinde ZipPackagedepolanan serileştirilebilir nesneler için varsayılan uygulamayı sağlar. Dosya sistemi gibi, pakette yer alan bölümler de hiyerarşik dizinde veya "klasör stili" kuruluşta depolanır. WPF paketleme API'lerini kullanarak uygulamalar tek bir ZIP dosyası kapsayıcısı kullanarak birden çok PackagePart nesne yazabilir, depolayabilir ve okuyabilir.
Paket Dijital İmzalar
Güvenlik için bir PackageDigitalSignature ("dijital imza") bir paket içindeki parçalarla ilişkilendirilebilir. A PackageDigitalSignature , iki özellik sağlayan bir [509] içerir:
Bölümün kaynağını tanımlar ve kimliğini doğrular.
Bölümün değiştirilmediğini doğrular.
Dijital imza, bir bölümün değiştirilmesini engeller, ancak parça herhangi bir şekilde değiştirilirse dijital imzaya karşı doğrulama denetimi başarısız olur. Uygulama daha sonra uygun eylemi gerçekleştirebilir; örneğin, bölümün açılmasını engelleyebilir veya kullanıcıya parçanın değiştirildiğini ve güvenli olmadığını bildirebilir.
Paket İlişkileri
(" PackageRelationship ilişki"), ek bilgileri paketle veya paket içindeki bir parçayla ilişkilendirmeye yönelik bir mekanizma sağlar. İlişki, gerçek parça içeriğini değiştirmeden ek bilgileri bir parçayla ilişkilendirebilen paket düzeyinde bir tesistir. Yeni verilerin doğrudan bölüm içeriğine eklenmesi çoğu durumda pratik değildir:
Parçanın gerçek türü ve içerik şeması bilinmiyor.
Biliniyor olsa bile, içerik şeması yeni bilgi eklemek için bir araç sağlamayabilir.
Bölüm dijital olarak imzalanmış veya şifrelenmiş olabilir ve bu da herhangi bir değişikliği engelleyebilir.
Paket ilişkileri, tek tek parçalar veya paketin tamamıyla ek bilgi eklemek ve ilişkilendirmek için bulunabilir bir araç sağlar. Paket ilişkileri iki birincil işlev için kullanılır:
Bağımlılık ilişkilerini bir bölümden diğerine tanımlama.
Bölümle ilgili notlar veya diğer verileri ekleyen bilgi ilişkilerini tanımlama.
A PackageRelationship , bağımlılıkları tanımlamak ve paketin veya paketin bir parçasıyla ilişkili diğer bilgileri bir bütün olarak eklemek için hızlı, bulunabilir bir araç sağlar.
Bağımlılık İlişkileri
Bağımlılık ilişkileri, bir bölümün diğer bölümlere yaptığı bağımlılıkları açıklamak için kullanılır. Örneğin, bir paket, bir veya daha fazla <img> resim etiketi içeren bir HTML bölümü içerebilir. Görüntü etiketleri, paketin içindeki veya dışındaki diğer parçalar olarak (İnternet üzerinden erişilebilir gibi) bulunan görüntülere başvurur. HTML dosyasıyla ilişkilendirilmiş bir PackageRelationship dosya oluşturmak, bağımlı kaynakları bulmayı ve bunlara erişmeyi hızlı ve kolay hale getirir. Tarayıcı veya görüntüleyici uygulaması parça ilişkilerine doğrudan erişebilir ve şemayı bilmeden veya belgeyi ayrıştırmadan bağımlı kaynakları hemen derlemeye başlayabilir.
Bilgi İlişkileri
Nota veya ek açıklamaya benzer şekilde, PackageRelationship parça içeriğinin kendisini değiştirmek zorunda kalmadan bir parçayla ilişkilendirilecek diğer bilgi türlerini depolamak için de kullanılabilir.
XPS Belgeleri
XML Kağıt Belirtimi (XPS) belgesi, bir veya daha fazla sabit belgenin yanı sıra işleme için gereken tüm kaynakları ve bilgileri içeren bir pakettir. XPS ayrıca yerel Windows Vista yazdırma havuzu dosya biçimidir. , XpsDocument standart ZIP veri kümesinde depolanır ve XML ile görüntü ve yazı tipi dosyaları gibi ikili bileşenlerin bir bileşimini içerebilir. PackageRelationships , belgeyi tam olarak işlemek için gereken içerik ve kaynaklar arasındaki bağımlılıkları tanımlamak için kullanılır. Tasarım XpsDocument , birden çok kullanım desteği sunan tek ve yüksek uygunlukta bir belge çözümü sağlar:
Sabit belge içeriğini ve kaynaklarını tek, taşınabilir ve dağıtımı kolay bir dosya olarak okuma, yazma ve depolama.
XPS Görüntüleyicisi uygulamasıyla belgeleri görüntüleme.
Windows Vista'nın yerel yazdırma biriktiricisi çıkış biçiminde belge çıktısı oluşturma.
Belgeleri doğrudan XPS uyumlu bir yazıcıya yönlendirme.
Ayrıca bakınız
- FixedDocument
- FlowDocument
- XpsDocument
- ZipPackage
- ZipPackagePart
- PackageRelationship
- DocumentViewer
- Metin
- Flow Belgesine Genel Bakış
- Yazdırmaya Genel Bakış
- Belge Serileştirme ve Depolama
.NET Desktop feedback