CSS 590: Machine Problem #1
Development Environment + Simple GUI Objects
Due time: Please refer to our course web-site
IDE and project/solution familiarization, and simple GUI Elements and elementary event services.
Specification
Here is an example implementation of this app. You can implement anything for your app, except, you must support the following features:
· Solution name: create your solution with your FirstLastname.sln
· Project (file) name: Your project name (including the containing folder and the project file name) should be: MyMP1 and MyMP1.csproj
· Default Application name: instead of the default App, you shall rename the default application and all associated files names to be MyExcellentMP1.
· Name of first page: Instead of the default MainPage, you shall rename the class and all associated files names to be FrontPage.
· NameSpace: change the name space (and the default name space) to: DefaultNamespace
Deployment/Application
Settings:
· .xap file name: FirstLastNameMP1.xap: e.g.: KelvinSungMP1.xap
· Deployment options:
o Title: FirstName.LastInitial.MP1. E.g., KelvinS.MP1
o Picture: of yourself, or some custom picture
· Tile Options:
o Title: FunMP1
o Picture: of something interesting but different from the App picture
App behavior:
o Support Phone Orientation: your main page will display some interesting app and page title. These titles will respect and react to phone orientation accordingly.
o You will have a text label centered at the content canvas telling your user what is the current orientation: PortraitUp, LandscapeLeft, or LandscapeRight.
o Four sets of: (draw object + Label): one in each of the top-left (TL), top-right (TR), bottom-left (BL), and bottom-right (BR) corners.
o The “draw object” can be a circle, ellipse, rectangle, or even image (how?), with different colors (Hint: look at Fill property)
o Each “draw object” will always occupy their respective corners on the phone. Independent from the phone’s orientation. Hint: alignments to left/right/top/bottom.
o The labels should move with the shapes staying in fix relatively positions with respective to the shape.
o Hint: working with ExpressionBlend can make life much simpler. Be careful, in ExpressionBlend, when you move an item interactively, it may decide to change your alignment parameter. Pay attention!
o Echo:
o Size of Content Panel in a label right under the TL draw object. Hint: Serve the SizeChange event.
o Current orientation string.
Credit Distribution:
1.
|
Project/Source Settings |
|
15% |
a. Solution name: FirstLastName b. Solution file name: FirstLastName.sln c. Project folder/name: MyMP1 d. Project filename: MyMP1.csproj e. Default App class: MyExcellentMP1 f. Name of main page: FrontPage g. Default namespace: DefaultNamespace |
3% 3% 3% 3% 3% 3% 3% |
||
2. |
Deployment/Application Settings |
|
15% |
a. .xap file name: FirstLastNameEX1.xap b. App name/image on the phone: c. App name/image pinned on front |
3% 7% |
||
3. |
Orientation support |
|
15% |
a. Titles updates correctly b. Proper string echo |
10% 5% |
||
4. |
Draw object + Labels |
|
30% |
a. 4 sets of draw objects and labels b. Draw objects sticks to corresponding corners c. Label centered at the corresponding draw object |
10% 10% 10% |
||
5. |
Report Content Panel Size |
5% |
5% |
a. Proper centered aligned orientation echo string b. Panel dimension string under TL |
|
||
6. |
Softcopy submission requirement |
|
20% |
a. Zip file with all source code b. Proper zip file name c. Removed all useless files: Bin, obj, .cache, .user |
|
This mp counts 5% towards the grade for this class.
Reminder: if you encounter strange error, please refer to course lecture notes from week1!!