مشكلة مضيفا canvasses إلى stackpanel في التعليمات البرمجية في برنامج الأغذية العالمي
-
05-07-2019 - |
سؤال
ولدي نفس المشكلة بالضبط كما نقلت (اتخذت شكل <وأ href = "http://social.msdn.microsoft.com/Forums/en-US/silverlightdeveloper/thread/9ddb04ba-0f42-4716-9889-04103469cf25 "يختلط =" نوفولو noreferrer "> هنا ، ولكن ليس أجاب):
<اقتباس فقرة>وI إضافة عناصر تحكم إلى StackPanel عبر StackPanel.Childrens.Add ().
ولكن ما أراه - جميع الضوابط وأضاف بالنسبة لي، هي في نفس الموقف و تتداخل مع بعضها البعض. انهم لا يجري تخطيط داخل StackPanel.
وحتى StackPanel.UpdateLayout () يجلب لي شيئا.
اقتباس فقرة> وأنا بالنسبة لي أحاول أن أضيف Canvas
es (نعم أنا لا حاجة إليها) إلى StackPanel
.
أي أفكار؟
المحلول
هل وضعت الأحجام واضحة على اللوحات الخاصة بك؟ اللوحات لا حجم لتناسب مضمونها، وذلك ما لم يتم تحديد حجم قماش صراحة، عند وضع كل منهم في لوحة المكدس، ستظهر محتوياتها على رأس كل منهما الآخر، كما يشرح. وذلك لأن (0،0) موقف الذي يتم وضع الأطفال قماش بالنسبة للستكون أعلى يسار stackpanel (نفس النقطة لجميع اللوحات وجميع أطفالهم).
وحاول القيام بما يلي في Kaxaml لتسليط الضوء على الوضع:
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<StackPanel>
<Canvas>
<TextBlock Text="Child of canvas one" />
</Canvas>
<Canvas>
<TextBlock Text="Child of canvas two" />
</Canvas>
</StackPanel>
</Page>
وسترى سطرين من النص يتم فرضه على رأس واحد آخر.
والآن، جرب هذا:
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<StackPanel>
<Canvas Height="15">
<TextBlock Text="Child of canvas one" />
</Canvas>
<Canvas Height="15">
<TextBlock Text="Child of canvas two" />
</Canvas>
</StackPanel>
</Page>
وسترى التباعد التي تريدها.
وعلى أمل أن يساعد.