目指せ!万能クリエーター!!デザイン・コーディングプログラミングまで幅広く書いています。

準備中

スポンサーサイト

このエントリーをはてなブックマークに追加
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

自分メモ*少ないコードで年齢を計算*

このエントリーをはてなブックマークに追加
DateTimePickerというコントロールを使えばカンタンに年齢を計算できます。
もしVisualStudioのコントロールの中になければWindowPhone toolkitから落とせたと思います。

最近知ったんですがNugetを使うと、DateTimePikerの日付選択画面の画像の差し替えなどしなくてさらに便利でした。

//DateTimePickerの値と今日を日付を取得
var birthday = (DateTime)this.datePicker1.Value;
DateTime today = DateTime.Today;

_age = today.Year - birthday.Year;
//今日より誕生日が後の場合1歳マイナス
_age -= birthday > today.AddYears(- _age) ? 1 : 0;

たったこれだけです。
スポンサーサイト
  1. 2012/05/24(木) 12:04:29|
  2. C#
  3. | トラックバック:0
  4. | コメント:0

自分メモ*ページの移行+ついでにデータも移行*

このエントリーをはてなブックマークに追加
ページ移行についての自分メモ。
トップページから次のページに移行したい場合、

ボタンイベントの中に下記のように追記ます。

NavigationService.Navigate(new Uri("/NextPage.xaml", UriKind.Relative));

赤線は移行したいページのXAML名でオッケーです。

さらに変数のデータも一緒に次ページへ持っていきたい場合は…?

vs.jpg
上のように年齢や性別の値を次のページまで送りたい!
C#のclass mainPageの中にprivate変数を用意します。

*MainPage.xaml.cs*
privpublic partial class MainPage : PhoneApplicationPage
{
          private int _seibetu; //見たまんま性別
          private int _nenrei; //みたまんま年齢

それぞれの値はtapイベントやDateTimePickerなどで値を入れますが、ここでは説明を省きます~。今回は便宜上int型にしました。

**
NavigationService.Navigate(new Uri("/nextpage.xaml?値のキーA=変数A&値のキーB=変数B", UriKind.Relative));


実際にこの変数A、Bに実際の変数を入れるとこんな感じ。

**
NavigationService.Navigate(new Uri("/"/NextPage.xaml?seibetu="+ _seibetu + "&nenrei=" + _nenrei, UriKind.Relative));

値は&つなげば複数送ることが出来ますが、あまり多すぎると見た目がよろしくないです。
文字列の中に変数を入れるので変数の部分は"をはずして+でつなぐという事を忘れないでくださいね。
私はしょっちゅう忘れます (笑。

そして、次のページでの値の引き継ぎ方。

*NextPage.xaml.cs*
   private int _seibetu;//引き継いだ値を代入する変数を用意
   private int _nenrei;//

   public NextPage()
   {
      InitializeComponent();
   }
   //引き継いだ値を呼び出す
   protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
   {
      IDictionary param = this.NavigationContext.QueryString;

      //指定するキーがあれば値を変数に代入
      if (param.ContainsKey("seibetu") && param.ContainsKey("nenrei"))
      {
         this._seibetu = int.Parse(param["seibetu"]);
         this._age = int.Parse(param["nenrei"]);

      }
   }

  1. 2012/05/24(木) 11:47:05|
  2. C#
  3. | トラックバック:0
  4. | コメント:0

名入れデータを作成しよう!

このエントリーをはてなブックマークに追加
オリジナル記念品を作りたい!でも、名入れデータを作らないといけない。

そんな方必見です。

このやり方はあくまで、簡易的な方法です。
大切な記念品であれば
費用が掛かっても、できればプロに頼んで頂きたいです。

印刷色は1色です。

アドビのイラストレータでデータを作成します。
持ってない方は体験版を落とします。一回だけ30日間無料で使えます。

新規ファイルを作成します。
上側メニューバーのファイルから新規ファイルを作成します。
この時、新規ドキュメントプロファイルをプリントに設定しておきます。
illust.jpg

名入れしたい文字を作成していきます。
まず、左の文字ツール「T」を選択します。

illust_3.jpg

業者によっては詳しい名入れサイズの指定を求められることがあります。
まずはサイズ設定。

名入れデータはmm(ミリメートル)まで細かく指定できる事が多いので単位をmmにしておきます。
メニューバー >> 設定 >> 環境設定から単位は変更できます。
illust_5.jpg
サイズは縦横比が崩れないよう
赤丸の鎖マークをクリックして固定しておきます。
名入れ最大サイズを超えないように、
W→横、H→縦いずれかに入力します。

印刷色は細かい色を指定したい場合はDICカラーパントーンカラーのナンバーで指定することもできます。
illust_6.jpg
色は図のCMYKの割合を設定して指定することもできます。
ただ、モニターによってかなり色の見え方が違うので、印刷業者に黒・青など色名だけ指定した方が無難です。

ファイルを保存したら、いよいよ入稿…




……ちょっと待ってください。

業者によって、イラストレータのヴァージョンが違います。

イラストレータ自体が高価なソフトなのでなかなかヴァージョンアップが追い付いていない
というのが現状かもしれません。

illust_7.jpg
保存するとき指定されたヴァージョンで入稿してあげましょう。

ファイルは保存したら、入稿……


…ちょっと待って!
一般の人はWindowsをお使いの人が多いですが、現場ではMacを使っている事が多いので
念のためファイル名を半角英数にしておきましょう。

現場では文字化けしてファイルが読み込めない…ということもあります。

さあ、それでは今度こそいよいよ入稿しましょう!!
  1. 2012/05/15(火) 22:02:18|
  2. イラストレーター
  3. | トラックバック:0
  4. | コメント:0

自分メモ*Listboxの中にTextBlockをぶち込む*

このエントリーをはてなブックマークに追加
忘れないうちにメモ。
hami.png
上のようにTextBlockを配置している時、ディスプレイ画面からはみ出してしまった時。

後からスクロールさせて表示させようと思った時パノラマビューページで書き換えるか迷ったのですが、
ListBoxを使ってみました。

さっそくListBoxを選択。
ListBoxはメニュー>ウィンドウで表示できます(下図の左下:≫みたいなマーク)

クリックし、コントロール>ListBoxを選択し適当な個所に配置します。
hami2.pnghami4.png

オブジェクトとタイムラインよりListBoxに入れたいTextBlockをすべて選択し、そのままListBoxにドラッグ&ドロップします。

後は、ListBoxの場所やサイズを選択ツール(左側黒い矢印マーク)・プロパティ>レイアウトから調整すれば
オッケーです。

上下にフリックすれば文字がリストボックスサイズにスクロールします。

※ちなみにリストボックスの中には図形でも、チェックボックスも、ボタンも入れ子にできます。
ListBox内に配置されたTextBlockは選択すると赤に変わります。ListBox内の個々のTextBlockを読みやすくて便利です。

  1. 2012/05/13(日) 10:56:25|
  2. Blend for VisualStudio
  3. | トラックバック:0
  4. | コメント:0

自分メモ*文字をタップした時に文字色を変える*

このエントリーをはてなブックマークに追加
aaa.png
昨日プログラミングでやった処理を忘れないうちにメモ。

コントローラーでのようなありがちのデフォルトのチェックボックスを使うより、選択した時文字そのものの色が変わる方が見た目が面白いと思ったのでやってみました。

見た目はこんな感じ。

チェック項目を選んでその数によって一日の健康状態・メンタル状態などを診断できるアプリ。

今回はTextblockを使いました。
Textblockに_Q1と名前を付け、Visualstudioでタップイベントを設定します。
blendからでも出来ますが、VisualStudioだと、タップイベントを付けたいTextblockをダブルクリックするだけで設定できるのでカンタン。

csファイルには下記のように追記します。

private void _Q1_Tap(object sender, System.Windows.Input.GestureEventArgs e)
{
//ここからタップイベントを追記します

if ((_Q1.Foreground as SolidColorBrush).Color != Colors.Magenta)
{
this._Q1.Foreground = new SolidColorBrush(Colors.Magenta);
_num++;
}
else if((_Q1.Foreground as SolidColorBrush).Color == Colors.Magenta)
{
this._Q1.Foreground = new SolidColorBrush(Colors.White);
_num--;
}


Forgrondは文字色です。これがもし、円や長方形であればBackgroundに変えればオッケーです。
if→もし、文字色がマゼンダ(未選択状態)でなければ文字色がマゼンダに変わります。


else if→選択を取り消したい時は
文字色がマゼンダ(選択状態)であれば文字色を白に変えます。

診断項目の数を数えたいのでチェックが入れば_numはプラス1され、選択を取り消せばマイナスされます。
  1. 2012/05/13(日) 09:45:55|
  2. C#
  3. | トラックバック:0
  4. | コメント:0
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。