سؤال

كيف تجعل عرض الشبكة 100٪ داخل قماش؟ إليك بعض XAML البسيطة ولكنها لا تعمل كما هو متوقع.

<Canvas Background="MediumSlateBlue" Width="Auto" Height="Auto" >
    <Grid x:Name="LayoutRoot" MouseMove="MainPage_MouseMove" Background="Beige" >
        <TextBlock x:Name="lblDisplay" Height="24" HorizontalAlignment="Right" VerticalAlignment="Top" Width="128" Text="asdf" ></TextBlock>
    </Grid>
</Canvas>

لا أفهم لماذا لا تشغل شبكة بلدي مساحة أكبر قدر ممكن من ذلك! لقد حاولت حتى إضافة تعريف صف واحد وعمود بعرض 100 *، ولكن لا يزال شبكتي ستأخذ فقط مساحة مثل التسمية التي يحتوي عليها. الهدف هو الحصول على قماش، مع طفل الشبكة ويستغرق عرض 100٪ والطول. هذا مهم لأنني بحاجة إلى Silverlight لتغيير حجمها عند تغيير حجم المتصفح.

هل كانت مفيدة؟

المحلول 2

يبدو أنني وجدت حلا هنا

http://forums.silverlight.net/forums/t/13415.aspx.

لقد قمت بتعديل التعليمات البرمجية لتغيير حجم شبكتي تلقائيا كلما تم تغيير حجم المحتوى. سيسمح لي هذا بموقع العناصر باستخدام Canvas.leftproperty والحفاظ على موضع عناصر محاذاة أفقيا / عموديا.

كنت تعتبر استخدام شبكة مجرد تصميمي الأساسي، ولكن يجب أن تنشأ الحاجة إلى تحريك كائن، لا يمكن تحريك الهامش. بالإضافة إلى ذلك، لم يقم تعيين الهامش الأيسر والأعلى أثناء حدث MouseMove بدقة عنصري إلى موضع المؤشر.

نصائح أخرى

قماش يضع محتواه باستخدام تحديد المواقع المطلقة. إنها تشبه الطريقة التي يعمل بها نماذج Windows في أن جميع العناصر يجب أن يكون لها أعلى، اليسار، العرض، والارتفاع المحدد.

يمكنك تحقيق وظيفة مماثلة عن طريق استبدال قماش مع شبكة لا تحتوي على صفوف / أعمدة محددة وتستخدم الهوامش لوضع عناصر الأطفال.

تحقق أيضا للتأكد من أن النموذج الخاص بك تمتد في الواقع تطبيق Silverlight.

<form id="form1" runat="server" style="height:100%">
<div id="silverlightControlHost">
    <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
      <param name="source" value="clientbin/MyApp.xap"/>
      <param name="onError" value="onSilverlightError" />
      <param name="background" value="white" />
      <param name="minRuntimeVersion" value="3.0.40818.0" />
      <param name="autoUpgrade" value="true" />
      <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40818.0" style="text-decoration:none">
          <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style:none"/>
      </a>
    </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>
</form>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top