UIElement.DesiredSize Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Düzen işleminin ölçü geçişi sırasında bu öğenin hesaplanmış boyutunu alır.
public:
property System::Windows::Size DesiredSize { System::Windows::Size get(); };
public System.Windows.Size DesiredSize { get; }
member this.DesiredSize : System.Windows.Size
Public ReadOnly Property DesiredSize As Size
Özellik Değeri
Hesaplanan boyut, düzenleme geçişi için istenen boyut olur.
Örnekler
Aşağıdaki örnekte uygulamanın bir MeasureOverride parçası olarak gösterilmektedirDesiredSize. edinmeden DesiredSizehemen önce nasıl Measure çağrıldığını görebilirsiniz. Bu, meşru bir değere sahip olduğunu DesiredSize garanti eder.
virtual Size MeasureOverride(Size availableSize) override
{
Size^ panelDesiredSize = gcnew Size();
// In our example, we just have one child.
// Report that our panel requires just the size of its only child.
for each (UIElement^ child in InternalChildren)
{
child->Measure(availableSize);
panelDesiredSize = child->DesiredSize;
}
return *panelDesiredSize ;
}
protected override Size MeasureOverride(Size availableSize)
{
Size panelDesiredSize = new Size();
// In our example, we just have one child.
// Report that our panel requires just the size of its only child.
foreach (UIElement child in InternalChildren)
{
child.Measure(availableSize);
panelDesiredSize = child.DesiredSize;
}
return panelDesiredSize ;
}
Protected Overrides Function MeasureOverride(ByVal availableSize As System.Windows.Size) As System.Windows.Size
Dim panelDesiredSize As Size = New Size()
' In our example, we just have one child.
' Report that our panel requires just the size of its only child.
For Each child As UIElement In InternalChildren
child.Measure(availableSize)
panelDesiredSize = child.DesiredSize
Next
Return panelDesiredSize
End Function
Açıklamalar
Bu özellik tarafından döndürülen değer yalnızca özelliğinin IsMeasureValid değeri ise geçerli bir ölçü olacaktır true
.
DesiredSizegenellikle , MeasureOverrideveya OnRender gibi düzen davranışı geçersiz kılmaları uyguladığınızda ölçüm faktörlerinden biri olarak ArrangeOverridedenetlenebilir (OnRenderbu durumda, bunun yerine denetleyebilirsinizRenderSize, ancak bu uygulamanıza bağlıdır). Senaryoya bağlı olarak, DesiredSize uygulama mantığınıza tam olarak uyulabilir, üzerindeki DesiredSize kısıtlamalar uygulanabilir ve bu tür kısıtlamalar üst öğenin veya alt öğenin diğer özelliklerini de değiştirebilir. Örneğin, kaydırılabilir bölgeleri destekleyen (ancak kaydırılabilir bölgeleri zaten etkinleştiren WPF çerçeve düzeyi denetimlerinden türetilmeyi seçen) bir denetim kullanılabilir boyutu ile DesiredSizekarşılaştırabilir. Denetim daha sonra bu denetim için kullanıcı arabiriminde kaydırma çubuklarını etkinleştiren bir iç durum ayarlayabilir. Alternatif olarak, DesiredSize belirli senaryolarda da yoksayılabilir.