UIElement.DesiredSize Properti

Definisi

Mendapatkan ukuran yang dihitung elemen ini selama proses pengukuran dari proses tata letak.

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

Nilai Properti

Ukuran komputasi, yang menjadi ukuran yang diinginkan untuk pass pengaturan.

Contoh

Contoh berikut menunjukkan DesiredSize sebagai bagian MeasureOverride dari implementasi. Perhatikan bagaimana Measure dipanggil segera sebelum mendapatkan DesiredSize. Ini memastikan bahwa DesiredSize menyimpan nilai yang sah.

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

Keterangan

Nilai yang dikembalikan oleh properti ini hanya akan menjadi pengukuran yang valid jika nilai IsMeasureValid properti adalah true.

DesiredSize biasanya diperiksa sebagai salah satu faktor pengukuran ketika Anda menerapkan penimpaan perilaku tata letak seperti ArrangeOverride, , MeasureOverrideatau OnRender (dalam kasus ini OnRender , Anda dapat memeriksa RenderSize sebagai gantinya, tetapi ini tergantung pada implementasi Anda). Tergantung pada skenario, DesiredSize mungkin sepenuhnya dihormati oleh logika implementasi Anda, batasan pada DesiredSize mungkin diterapkan, dan batasan tersebut mungkin juga mengubah karakteristik lain dari elemen induk atau elemen turunan. Misalnya, kontrol yang mendukung wilayah yang dapat digulir (tetapi memilih untuk tidak berasal dari kontrol tingkat kerangka kerja WPF yang sudah mengaktifkan wilayah yang dapat digulir) dapat membandingkan ukuran yang tersedia dengan DesiredSize. Kontrol kemudian dapat mengatur status internal yang mengaktifkan bilah gulir di UI untuk kontrol tersebut. Atau, DesiredSize berpotensi juga diabaikan dalam skenario tertentu.

Berlaku untuk

Lihat juga