Aracılığıyla paylaş


ModelItem Sınıf

Tanım

Düzenleyen tek bir öğeyi temsil eder. Bir öğe, karmaşık bir veri yapısından renkli veya tam sayıya kadar herhangi bir şey olabilir.

public ref class ModelItem abstract : System::ComponentModel::INotifyPropertyChanged
public abstract class ModelItem : System.ComponentModel.INotifyPropertyChanged
type ModelItem = class
    interface INotifyPropertyChanged
Public MustInherit Class ModelItem
Implements INotifyPropertyChanged
Devralma
ModelItem
Türetilmiş
Uygulamalar

Örnekler

, ModelItem İşaret ettiği bir nesne için ince bir ara sunucu olarak düşünülebilir. Önce basit bir Animal nesne tanımlayın.

public class Animal  
{  
    // simple property  
    public string Name { get; set; }  
    // complex property   
    public Location Residence { get; set; }   
    // list   
    public List<Animal> CloseRelatives { get; set; }  
    // dictionary  
    public Dictionary<string, object> Features { get; set; }   
}  

public class Location  
{  
    public string StreetAddress { get; set; }  
    public string City { get; set; }  
    public string State { get; set; }   
}  

İkinci olarak, Animal bir ve için proxy olan bir örneğini oluşturun ModelItem . Nesne daha sonra çağırarak alınabilir GetCurrentValue . Aşağıdaki kod ayrıca tarafından tanımlanan diğer özelliklerin nasıl kullanılacağını gösterir ModelItem .

EditingContext ec = new EditingContext();  
var companion1 = new Animal { Name = "Houdini the parakeet" };  
var companion2 = new Animal { Name = "Groucho the fish" };  
var animal = new Animal   
   {  
      Name = "Sasha the pug",  
      Residence = new Location   
      {  
         StreetAddress = "123 Main Street",  
         City = "AnyTown",  
         State = "Washington"  
      },  
      Features = new Dictionary<string, object> {   
         {"noise", "snort" },  
         {"MeanTimeUntilNaps", TimeSpan.FromMinutes(15) }  
      },  
      CloseRelatives = new List<Animal> { companion1, companion2 }   
   };  
ModelTreeManager mtm = new ModelTreeManager(ec);  mtm.Load(animal);  
ModelItem mi = mtm.Root;  

//Testing other properties of the class  
ModelItem root = mtm.Root;  
Assert.IsTrue(root.GetCurrentValue() == animal, "GetCurrentValue() returns same object");  
Assert.IsTrue(root.ItemType == typeof(Animal),"ItemType describes the item");  
Assert.IsTrue(root.Parent == null,"root parent is null");  
Assert.IsTrue(root.Source == null, "root source is null");  
Assert.IsTrue(((List<Animal>)root.Properties["CloseRelatives"].ComputedValue)[0] == companion1,   
   "ComputedValue of prop == actual object");  
Assert.IsFalse(((List<Animal>)root.Properties["CloseRelatives"].ComputedValue)[0] == companion2,   
   "ComputedValue of prop == actual object");  
Assert.AreEqual(root.Properties["Residence"].  
   Value.  
   Properties["StreetAddress"].  
   Value.GetCurrentValue(), "123 Main Street", "get actual value back out");  
Assert.AreEqual(root, root.Properties["Residence"].Parent, "property points to owner");  
ModelItem location = root.Properties["Residence"].Value;  
Assert.AreEqual(root.Properties["Residence"], location.Source, "sources point to the right place");  

Açıklamalar

Öğenin özelliklerine koleksiyonu aracılığıyla erişebilir Properties ve özelliklerin değerlerinde değişiklik yapabilirsiniz.

, ModelItem Tasarımcının temel alınan veri modeli etrafında bir sarmalayıcıdır. Temel modele yöntemi aracılığıyla erişebilirsiniz GetCurrentValue .

Not

Yönteminden döndürülen bir nesnede yaptığınız tüm değişiklikler, GetCurrentValue tasarımcının serileştirme ve geri alma sistemleri tarafından yansıtılmaz.

Oluşturucular

ModelItem()

ModelItem sınıfının yeni bir örneğini oluşturur.

Özellikler

Attributes

Bu öğe üzerinde belirtilen öznitelikleri alır.

Content

Öğesini alır ContentPropertyAttribute veya null .

ItemType

Öğenin temsil ettiği nesne türünü alır.

Name

Öğenin adını veya KIMLIĞINI alır veya ayarlar.

Parent

Bu öğenin üst öğesi olan öğeyi alır.

Parents

Bu öğenin tüm üst öğelerini alır.

Properties

Bu öğe üzerindeki ortak özellikleri alır.

Root

Bu ağacın kökü olan öğeyi alır.

Source

Bu değeri sağlayan özelliği alır.

Sources

Bu değeri tutan tüm özellikleri alır.

View

DependencyObjectBu öğeyi grafiksel olarak temsil eden bir alır.

Yöntemler

BeginEdit()

Tasarımcı için bir düzen kapsamı açar. Bir düzen kapsamı açıldıktan sonra, işlem tamamlanana veya geri döndürülünceye kadar tüm nesneler genelindeki tüm değişiklikler kapsama kaydedilir. Kapsamları düzenleyen iç içe olabilir, ancak sırayla yürütülmesi gerekir.

BeginEdit(Boolean)

Tasarımcı için bir düzen kapsamı açar.

BeginEdit(String)

Tasarımcı için bir düzen kapsamı açar. Bir düzen kapsamı açıldıktan sonra, işlem tamamlanana veya geri döndürülünceye kadar tüm nesneler genelindeki tüm değişiklikler kapsama kaydedilir. Kapsamları düzenleyen iç içe olabilir, ancak sırayla yürütülmesi gerekir.

BeginEdit(String, Boolean)

Tasarımcı için bir düzen kapsamı açar.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetCurrentValue()

Sarmaladığı temeldeki model nesnesinin geçerli değerini döndürür ModelItem .

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Bu model öğesinde bulunan temel model nesnesinin dize gösterimini döndürür.

Ekinlikler

PropertyChanged

Uygular INotifyPropertyChanged . Modeldeki değişiklikleri dinlemek için bu olayı kullanın. Bu, WPF 'in veri bağlama özellikleri tarafından da kullanılır.

Uzantı Metotları

Focus(ModelItem)

Belirtilen Tasarımcı öğesinde klavye odağını ayarlar.

Focus(ModelItem, Int32)

Belirtilen Tasarımcı öğesinde klavye odağını ayarlar.

GetEditingContext(ModelItem)

Belirtilen model öğesinin düzenlenme bağlamını alır.

GetModelPath(ModelItem)

Belirtilen model öğesinin yolunu alır.

IsParentOf(ModelItem, ModelItem)

Belirtilen ilk tasarımcı öğesinin belirtilen ikinci tasarımcı öğesinin üst öğesi olup olmadığını gösteren bir değer döndürür.

Şunlara uygulanır