UIElement.DesiredSize Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.