משיב מוביל
סידור רזולוציה לאפליקציה שתהיה קבועה בכל המסכים ב#C

שאלה
-
אני רוצה שיראו את האפליקציה שלי מסודרת בכל המסכים אותו דבר אבל כשאני משנה גודל מסך אז הכל מאבד פרופורציה. מה עושים??יום שלישי 11 פברואר 2014 15:56
תשובות
-
Canvas הוא פנל אשר לא משפיע על הגודל של ילדיו.
בשינויי רזולוציה, גם אם ה-Canvas גדל הוא לא משפיע כלל על הילדים.
לכן Canvas הוא לרוב לא פנל מוצלח לתסריטים אלה. צריך לבחון מעבר ל-Grid.בנוסף, אין צורך לתת ל-Canvas גודל - במידה ויוגדרו לו HorizontalAlignment ו-VerticalAlignment ל-Stretch, הוא ימתח בהתאם לשטח שהאבא שלו (במקרה הזה זה הגריד) מקצה לו. עצם זה שנתתם לו גודל קבוע יכול להשפיע על היכולת להתמודד עם רזולוציות שונות.
לבסוף, לגבי ה-MediaElement, חסר מידע - איך הקובץ מוגדר בפרוייקט, האם ניסיתם פשוט לגרור אותו לחלון וכו'
- סומן כתשובה על-ידי Eran Sharvit יום שלישי 25 פברואר 2014 10:01
יום רביעי 12 פברואר 2014 22:53
כל התגובות
-
זו שאלה כללית מדי.
תוכל/י לתת דוגמת קוד של המסך?
האם נעשה שימוש ב-XAML או #C?
האם נעשה שימוש בפנלים ומאיזה סוג?הכי טוב דוגמת קוד.
- הוצע כתשובה על-ידי Eran Sharvit יום רביעי 12 פברואר 2014 11:24
יום שלישי 11 פברואר 2014 16:59 -
שמתי קנבס על המסך שעליו המשתמש כותב הגדרתי לקנבס גודל( כי אחרת לא רואים את הקנבס).וכשאני משנה גודל של מסך הקנבס נשאר בגודל שהגדרתי אבל כל שאר הדברים במסך כגון לוגו וכו' הגודל שלהם משתנה בהתאם למסך וזה מאבד פרופורציות.אני רוצה להגדיר את הכל כולל הקנבס שהגודל יהיה מתואם עם גודל המסך.מקווה שהובנתי,
ותודה מראש!!!
זה חלק מהקוד
<Grid Style="{StaticResource LayoutRootStyle}"><Grid.Background><ImageBrush ImageSource="Assets/HomeBackG.png"></ImageBrush></Grid.Background><Grid.RowDefinitions><RowDefinition Height="*"/><RowDefinition Height="3*" /><RowDefinition Height="*"/></Grid.RowDefinitions><Grid.ColumnDefinitions><ColumnDefinition Width="50"/><ColumnDefinition Width="*"/><ColumnDefinition Width="50"/></Grid.ColumnDefinitions><MediaElement Source="/Track05.mp3" x:Name="MyMedia" AutoPlay="True"></MediaElement><TextBlock Name="tbuserName" Grid.Column="1" Grid.Row="0" FontSize="100" HorizontalAlignment="Center"></TextBlock><TextBlock Name="realText" FontSize="70" Grid.Row="2" Grid.Column="1"></TextBlock><Canvas x:Name="TrialCanvas" HorizontalAlignment="Left" VerticalAlignment="Top" Grid.ColumnSpan="3" Grid.Column="0" Margin="0,7,-72,0" Background="Azure" Grid.Row="1" Grid.RowSpan="2"><Image Name="MyImage" Source="/instruction.jpg" Height="404" Visibility="Collapsed" Canvas.Top="193" Width="462"/></Canvas>
שאלה נוספת
מדוע המדיה לא עובדת לנו???
ניסינו בכמה דרכים ולא הצלחנו להפעיל
hello to every one
יום רביעי 12 פברואר 2014 16:06 -
Canvas הוא פנל אשר לא משפיע על הגודל של ילדיו.
בשינויי רזולוציה, גם אם ה-Canvas גדל הוא לא משפיע כלל על הילדים.
לכן Canvas הוא לרוב לא פנל מוצלח לתסריטים אלה. צריך לבחון מעבר ל-Grid.בנוסף, אין צורך לתת ל-Canvas גודל - במידה ויוגדרו לו HorizontalAlignment ו-VerticalAlignment ל-Stretch, הוא ימתח בהתאם לשטח שהאבא שלו (במקרה הזה זה הגריד) מקצה לו. עצם זה שנתתם לו גודל קבוע יכול להשפיע על היכולת להתמודד עם רזולוציות שונות.
לבסוף, לגבי ה-MediaElement, חסר מידע - איך הקובץ מוגדר בפרוייקט, האם ניסיתם פשוט לגרור אותו לחלון וכו'
- סומן כתשובה על-ידי Eran Sharvit יום שלישי 25 פברואר 2014 10:01
יום רביעי 12 פברואר 2014 22:53 -
תודה רבה על התשובה הראשונה!!!!
ולגבי השאל הנוספת:
הבאנו תמונה :
<ImageBrush ImageSource="Assets/HomeBackG.png"></ImageBrush>וזה עובד מצוין
ואותא הדבר ייבאנו מדיה :
<MediaElement Source="/Track05.mp3" x:Name="MyMedia" AutoPlay="True"></MediaElement>
אך זה לא עובד!!!!
מה הסיבה????
hello to every one
יום חמישי 13 פברואר 2014 10:52 -
-
תודה על העזרה
הבעיה היתה שעשיתי סלש לכיוון ההפוך!!!!
hello to every one
יום שני 03 מרץ 2014 08:26