Silverlightコントロール全般 のバックアップ(No.1) - PukiWiki

SilverLight?

リソースファイルに写真ファイルの利用
[edit]

 リソースファイルに写真を追加すると、自動的に生成されたソースコードに、「System.Drawing.Bitmap」への参照がありますので、SilverLightでは利用できません。

 回避策として、予め写真ファイルの拡張子を削除して、Visual Studio のリソース追加画面で、リソースのタイプを「その他」を選択して、写真ファイルを追加します。ファイルを追加したら、自動的に生成されたソースコードでは、「byte[]」タイプとなります、これで、MemoryStreamで利用可能となります。    ソースコード例、UIにImageコントロールを追加します。

MemoryStream ms =new MemoryStream (SilverlightBusinessApplication1.Assets.Resources.Images.);
Image image = new Image();
BitmapImage bi = new BitmapImage();
bi.SetSource(ms);
image.Source = bi;

※作成した写真はPNGフォーマットに保存する必要があります。
#すべての画像フォーマットを試していませんが、BMPにする場合、BitmapImageのSetSourceメソッドが呼び出された時、下記のようなわけわからない例外が発生します。

Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED)
このページのトップへ

Buttonの背景を写真に設定する
[edit]

 この方法で設定したボタンの写真背景がはっきり見えません。

MemoryStream ms =new MemoryStream (SilverlightBusinessApplication1.Assets.Resources.Images.);
BitmapImage bi = new BitmapImage();
bi.SetSource(ms);

Button brt = new Button();
brt.Width = 43;
brt.Height= 43; 
brt.Background = new ImageBrush() { ImageSource = bi };

このページのトップへ

ボタンをImageButtonのようにみえる
[edit]

MemoryStream ms =new MemoryStream (SilverlightBusinessApplication1.Assets.Resources.Images.);
BitmapImage bi = new BitmapImage();
bi.SetSource(ms);
Image image = new Image();
image.Source = bi;

Button brt = new Button();
brt.Width = 43;
brt.Height= 43; 
brt.Content = image;
このページのトップへ

コントロールのAutoサイズ
[edit]

XAMLで設定する場合

<button Height="Auto" ... />

ソースコードで設定する場合:

MyComponent.Width = double.NaN;
このページのトップへ

ScrollViewer内のコントロールの位置を設定する
[edit]

 ScrollViewerコントロールに HorizontalContentAlignmentとVerticalContentAlignmentプロパティが提供していますが、ScrollViewerコントロールの中にCanvasコントロールを入れる場合、HorizontalContentAlignmentとVerticalContentAlignmentプロパティを設定しても、実際に反映しません    対策:
 この時、代わりにCanvasコントロールのHorizontalAlignmentとVerticalAlignmentプロパティを設定してください。

このページのトップへ

マウスの座標を取得する
[edit]

 SilverLightのコンテキストメニューなどのポップアップコントロールを表示させたい場合、やはりマウスがクリックしたところに表示させたいですね。この時、マウスのイベントのMouseButtonEventArgsパラメータを利用します。GetPositionのパラメータをnullにしたらよい。

ソースコード例:

e.GetPosition(null);
このページのトップへ

TextBoxのKeyDownイベント
[edit]

Key.Back と Key.Delete の入力が認識しません、バグっぽい、下記の記事があります

http://forums.silverlight.net/forums/p/12875/43544.aspx

このページのトップへ

XAMLでButtonなどの文字列に改行を書く
[edit]

&#x0a;
&#x0d;

で改行できます。Visual Studio のプロパティで入力すると、変化がありません、直接にXAMLに入力する必要があります。

このページのトップへ

その他
[edit]

  1. XamlReader.LoadメソッドにXAMLにイベントの定義ができません。
  2. TextBoxコントロール内の一部の文字列のみに対して、色を設定できません。
  3. Floder Browserがサポートしません

コメント:



0


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

e[NȂECir Yahoo yV LINEf[^[Ōz500~`I
z[y[W ̃NWbgJ[h COiq@COsیI COze