Aracılığıyla paylaş


Özelleştirme ve bir etki alanına özgü dil uzatma

Visual Studio modelleme ve görselleştirme sdk (vmsdk) modelleme araçlarını tanımla, birden fazla düzeyi sağlar:

  1. dsl Definition Diyagramı'nı kullanarak bir etki alanına özgü dili (dsl) tanımlar.dsl diagrammatic gösterim, okunabilir bir xml form ve kod ve diğer aletler üretmek için gerekli temel araçları hızla oluşturabilirsiniz.

    Daha fazla bilgi için bkz. Nasıl bir etki alanına özgü dili tanımla.

  2. dsl dsl tanımının daha gelişmiş özellikleri kullanarak ince ayar.Örneğin, kullanıcı bir öğe oluşturduğunda görünür ek bağlantılar yapabilirsiniz.Bu teknikler dsl tanımında çoğunlukla elde edilir ve bazı program kod birkaç satır gerektirir.

  3. Program kodunu kullanarak modelleme araçlarınızın genişletir.vmsdk, özellikle kendi uzantıları dsl tanımından üretilen kod ile tümleştirmek kolaylaştırmak için tasarlanmıştır.Daha fazla bilgi için bkz. Bir etki alanına özgü dil kişiselleştirmek için kod yazma.

[!NOT]

dsl tanımları dosyası güncelleştirildiğinde tıklatın unutmayın Dönüştürme tüm şablonları çözümünüzün yeniden inşa etmek önce Solution Explorer araç.

Bu bölümde

Bu etkiyi elde etmek için

Bu konuya bakın

Bir şeklin rengini ve stilini özelliklerini ayarlamak kullanıcı izin verir.

Şekil veya bağlayıcı sýnýfýný farenin, üzerine Eklemek maruz, bir öğeyi tıklatın.

Bkz: Sunu Diyagramı'nda özelleştirme

Farklı sınıftaki modeli öğe paylaşım özelliklerini başlangıçtaki yüksekliğini ve genişliğini, rengini, araç ipuçları gibi Diyagram üzerinde benzer.

Şekillere veya bağlayıcı sınıfları arasındaki devralma kullanın.Türetilmiş şekilleri türetilmiş etki alanı sınıfları arasındaki eşlemeleri Ebeveynler eşleştirme ayrıntılarını devralır.

Veya farklı etki alanı sınıfları aynı shape sınıfı eşleyin.

Sınıf modeli öğenin farklı şekiller bağlamları tarafından görüntülenir.

Birden fazla shape sınıfı aynı etki alanı sınıfına eşleyin.Çözümü oluþturun, hata raporunu izleyin ve istenen kodu kullanmak için hangi Şekil karar sağlar.

Şeklin rengini veya yazı tipi gibi diğer özellikleri geçerli durumunu gösterir.

Bkz: Şekilleri ve bağlayıcıları modelini yansıtacak şekilde güncelleştirme.

Özellik güncelleştiren bir kural oluşturabilirsiniz.Bkz: Kuralları modelindeki değişiklikleri yaymak

Veya açık olmayan bağlantı okları veya yazı tipi gibi özellikleri güncelleştirmek için OnAssociatedPropertyChanged() kullanın.

Simge durumu belirtmek için şekli değişir.

Decorator eşleme görünürlüğünü dsl Ayrıntılar penceresinde ayarlayın.Aynı konumda bulunan birkaç resim decorators bulun.See Şekilleri ve bağlayıcıları modelini yansıtacak şekilde güncelleştirme..

Veya geçersiz kılma ImageField.GetDisplayImage().Örneğe bakın ImageField.

Bir arka plan görüntüsü üzerinde herhangi bir şekli ayarlayın

Bağlantılı bir ImageField eklemek için InitializeInstanceResources() geçersiz kılar.Bkz: Sunu Diyagramı'nda özelleştirme

Herhangi bir derinliğe nest şekilleri

Özyinelemeli bir ağaç katıştırma ayarlayın.Şekiller içeren BoundsRules tanımlayın.Bkz: Sunu Diyagramı'nda özelleştirme

Bir öğe sınırı üzerinde sabit noktalarda bağlayıcılar iliştirin.

Diyagram üzerinde küçük bağlantı noktaları tarafından temsil edilen katıştırılmış terminal öðe tanýmlar.Yerinde bağlantı noktalarını düzeltmek için BoundsRules kullanın.At devre diyagramı örnek görmek görselleştirme ve modelleme sdk.

Metin alanı diğer değerlerden elde edilen değeri görüntüler.

Hesaplanan veya özel depolama domain özelliği için metin decorator eşleyin.Daha fazla bilgi için bkz. Hesaplanan ve özel depolama özellikleri.

Modeli öğeler arasındaki veya şekiller arasındaki değişiklikleri yaymak

Bkz: Bir etki alanına özgü dil doğrulama

Değişiklikleri gibi diğer kaynaklara Visual Studio deposu dışında uzantıları.

Bkz: Olay işleyicilerini modeli dışında değişiklikleri yaymak

Property penceresinde, ilgili öğenin özelliklerini görüntüler.

İletme özelliği ayarlayın.Bkz: Properties penceresini özelleştirme

Özellik kategorileri

Properties penceresinde, kategori adı verilen bölümlere ayrılmıştır.Set Kategori , etki alanı özellikleri.Özellikler aynı kategori adı ile aynı bölümünde görünür.Ayrıca Kategori bir ilişki rolü.

Etki alanı özellikleri kullanıcı erişimini denetleme

Set Gözatılabilir olup etki alanı özellik çalışma zamanında Properties penceresinde görüntülenmesini engellemek için yanlış.Yine de, metin decorators eşleyebilirsiniz.

Salt okunur UI , kullanıcıların bir etki alanı özellik değiştirmesini engeller.

Domain özelliği program erişimi etkilenmez.

Adı, simge ve DSL'ın model Explorer düğüm görünürlüğünü değiştirebilirsiniz.

Bkz: Model Explorer'ı özelleştirme

Kopyala, Kes ve Yapıştır'ı etkinleştir

Set Etkinleştirmek kopyala yapıştır özelliği Düzenleyen dsl Explorer düğüm.

Bir öğe kopyalanır her başvuru bağlantıları ve hedefleri kopyalayın.Örneğin, bir maddeye eklenmiş yorum kopyalar.

Set Yayar kopya (dsl Definition diyagramındaki etki alanı ilişkinin bir tarafındaki satırında gösterdiği) kaynak rolü özelliği.

Daha karmaşık efektler elde etmek için ProcessOnCopy geçersiz kılmak için kod yazmak.

Bkz: Kopyalama davranışını özelleştirme

Silme, reparent ya da bir öğe silindiğinde, ilgili öğeleri yeniden bağla.

Set Yayar silmek bir ilişki rolü değeri.Daha karmaşık efektler için geçersiz kılma ShouldVisitRelationship ve ShouldVisitRolePlayer yöntemleri MyDslDeleteClosure tanımlanan sınıfDomainModel.cs

Bkz.Silme davranışı özelleştirme

Şekil düzeni ve kopya ve sürükle ve bırak Görünümü Koru.

Şekilleri ve bağlayıcıları kopyalanan eklemek ElementGroupPrototype.Geçersiz kılmak için en uygun yöntemElementOperations.CreateElementGroupPrototype()

Bkz: Kopyalama davranışını özelleştirme

Şekiller geçerli imleç konumu gibi seçtiğiniz bir konuma yapıştırın.

Geçersiz kılma ClipboardCommandSet.ProcessOnCopy() konuma özgü sürümünü kullanmaya ElementOperations.Merge(). görmek Kopyalama davranışını özelleştirme.

Yapıştırma işleminde ek bağlantılar oluşturma

ClipboardCommandSet.ProcessOnPasteCommand() geçersiz kılma

Sürükleyin etkinleştirmek ve bırakın Bu diyagramından, diğer DSLs veya uml diyagramları ve Windows öğeleri

Bkz.Nasıl yapılır: sürükle ve bırak işleyicisi ekleyin

Üst sürüklenmekte gibi Şekil veya bir bağlantı noktası gibi bir alt şekli üzerine sürüklediğiniz aracını sağlar.

Bırakılan nesne üst iletmek için hedef nesne sınıfı, temel bir öğesi birleştirme yönergesi tanımlayın.Bkz: Öğe oluşturma ve taşıma özelleştirme

Bir şekil veya şekli ve sahip ek bağlantılar veya oluşturulan nesnelerin üzerine sürüklediğiniz aracı sağlar.Örneğin, bağlantılı olduğu bir madde kesilmesini yorum izin vermek için.

Bir öğenin birleştirme yönergesi hedef etki alanı sınıfını tanımlamak ve oluşturulacak bağlantılar tanımlayın.Karmaşık durumlarda, özel kod ekleyebilirsiniz.Bkz: Öğe oluşturma ve taşıma özelleştirme

Bir aracı ile öğeleri bir grup oluşturun.Örneğin, bir bileşen sabit bir bağlantı noktası kümesi ile.

ToolboxHelper.cs araç başlatma yöntemini geçersiz kılar.Bir öğe grubu prototip (öğeler ve onların ilişki bağlantılar içeren egp) oluşturun.Bkz: Araçlar ve araç özelleştirme

Asıl ve bağlantı noktası şekilleri içinde egp dahil ya da bağlantı şekilleri egp örneği oluşturulduğunda konumlandırmak için BoundsRules tanımlayın.Bkz: BoundsRules şekli konumunu ve boyutunu sınırlamak

Birkaç tür ilişki oluşturmak için bir bağlantı aracını kullanın.

Bağlantı bağlanma yönergelerini (lcd) aracı tarafından çağrılan bağlantı oluşturucu ekleyin.LCD'ler iki öğe türlerini ilişkinin türünü belirleyin.Bu öğeleri durumları üzerinde bağımlı hale getirmek için özel bir kod ekleyebilirsiniz.Bkz: Araçlar ve araç özelleştirme

Yapışkan Araçlar – kullanıcı arka arkaya birçok Şekil veya bağlayıcıları oluşturmak için herhangi bir aracı çift tıklatabilirsiniz.

dsl Gezgini'nde seçin Editor düğüm.Properties penceresinde Kullandığı Yapışkan Toolbox Items.

Menü komutlarını tanımlamak

Bkz.Nasıl yapılır: bir etki alanına özgü dilde standart bir menü komutu değiştirmek

Doğrulama kuralları modeliyle oranları

Bkz.Bir etki alanına özgü dil doğrulama

Kod, yapılandırma dosyaları ve belgeler dsl oluşturur.

Bir etki alanına özgü dil kodu oluşturma

Özelleştirme modelleri nasıl kaydedileceği dosya için.

Bkz.Dosya depolama ve xml Serialization özelleştirme

Modeller, veritabanları veya başka bir medyaya kaydedin.

Geçersiz kılma YourLanguageDocData

Bkz.Dosya depolama ve xml Serialization özelleştirme

Böylece bir uygulamanın parçası olarak çalıştıkları birkaç DSLs tümleştirin.

Bkz: Modelleri Visual Studio Modelbus kullanarak tümleştirme

dsl üçüncü taraflar tarafından genişletilen izin ve uzantısını denetler.

mef kullanarak dsl genişletin

Sınıflar arasında dsl kitaplığı kullanarak DSLs paylaşımı

Salt okunur segmentleri oluşturmak için bir kilitleme ilkesi tanımlama

Ayrıca bkz.

Kavramlar

Nasıl bir etki alanına özgü dili tanımla

Görselleştirme ve sdk - etki alanına özgü dil modelleme

Diğer Kaynaklar

Bir etki alanına özgü dil kişiselleştirmek için kod yazma