トップ回答者
VB→C#

質問
-
If myJoint.JointType = JointType.Head AndAlso myMask <> String.Empty Then
myImage = New Image
With myImage
.Width = 60
.Height = 75
.Source = New BitmapImage(New Uri(myMask, UriKind.Relative))
End With
これをWPFで書くにはどう変換すればよいですか。
- 移動 栗下 望Microsoft employee, Moderator 2017年1月23日 9:01 Visual Studio Development > Visual Studio 共通 フォーラム
回答
-
単純にVB.Netに対応するC#へのコードの変換ということでしょうか
//using System; //using System.Windows.Media.Imaging; //using System.Windows.Controls; if (myJoint.JointType == JointTYpe.Head && myMask != string.Empty) { myImage = new Image(); myImage.Width = 60; myImage.Height = 75; myImage.Source = new BitmapImage(new System.Uri(myMask, UriKind.Relative)); }
個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)
- 回答の候補に設定 栗下 望Microsoft employee, Moderator 2017年1月23日 2:23
- 回答としてマーク 栗下 望Microsoft employee, Moderator 2017年1月27日 0:22
-
元ネタは、薬師寺さんの Kinect コードでしょうか。
C# に翻訳するのであれば、myMask が空だった場合にも対応しておいた方が良さそうです。
VB の「If Nothing <> String.Empty Then」は False ですが、
C# の「if ( null != String.Empty )」は true なので、
String.IsNullOrEmpty に変更しました。もしくは、null 判定のコードを追加しても良いですね。if (myJoint.JointType == JointTYpe.Head && String.IsNullOrEmpty(myMask)) { myImage = new Image() { Width = 60, Height = 75 }; myImage.Source = new BitmapImage(new Uri(myMask, UriKind.Relative)); }
- 回答の候補に設定 栗下 望Microsoft employee, Moderator 2017年1月23日 2:23
- 回答としてマーク 栗下 望Microsoft employee, Moderator 2017年1月27日 0:22
-
> これをWPFで書くにはどう変換すればよいですか。
1.まず Uri をプロパティに持つクラスを用意
もしかして、下記スレッドに関連する質問でしょうか。
https://social.msdn.microsoft.com/Forums/ja-JP/766b2875-1f32-4995-b5e7-ba07eecec8fd/listbox?forum=vsgeneralja
でしたら、ただコードをC#へ移植するだけでなく、
2.上記クラスを管理するコレクションを用意
3.ListBox のデータテンプレートを編集し、アイテムの要素にImage クラスを持たせる
4.ListBox にコレクションをバインドする
という流れになると思います。
WPF による開発は、コードビハインドではなく MVVM パターン等を使ったバインディングが基本になるため、初心の方には若干理解しづらいものがあるかと思います。詳しくは以下の記事をご覧ください。
本フォーラムは、ユーザー(開発者)同士で情報交換を行うためのコミュニティです。初めて利用される方は、以下のアナウンスをご覧ください。 https://social.msdn.microsoft.com/Forums/ja-JP/ca9ecfb7-4407-4fcb-b8bd-207d68257e68?
- 編集済み ひらぽんModerator 2017年1月21日 13:18
- 回答の候補に設定 栗下 望Microsoft employee, Moderator 2017年1月23日 2:23
- 回答としてマーク 栗下 望Microsoft employee, Moderator 2017年1月27日 0:22
すべての返信
-
単純にVB.Netに対応するC#へのコードの変換ということでしょうか
//using System; //using System.Windows.Media.Imaging; //using System.Windows.Controls; if (myJoint.JointType == JointTYpe.Head && myMask != string.Empty) { myImage = new Image(); myImage.Width = 60; myImage.Height = 75; myImage.Source = new BitmapImage(new System.Uri(myMask, UriKind.Relative)); }
個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)
- 回答の候補に設定 栗下 望Microsoft employee, Moderator 2017年1月23日 2:23
- 回答としてマーク 栗下 望Microsoft employee, Moderator 2017年1月27日 0:22
-
元ネタは、薬師寺さんの Kinect コードでしょうか。
C# に翻訳するのであれば、myMask が空だった場合にも対応しておいた方が良さそうです。
VB の「If Nothing <> String.Empty Then」は False ですが、
C# の「if ( null != String.Empty )」は true なので、
String.IsNullOrEmpty に変更しました。もしくは、null 判定のコードを追加しても良いですね。if (myJoint.JointType == JointTYpe.Head && String.IsNullOrEmpty(myMask)) { myImage = new Image() { Width = 60, Height = 75 }; myImage.Source = new BitmapImage(new Uri(myMask, UriKind.Relative)); }
- 回答の候補に設定 栗下 望Microsoft employee, Moderator 2017年1月23日 2:23
- 回答としてマーク 栗下 望Microsoft employee, Moderator 2017年1月27日 0:22
-
> これをWPFで書くにはどう変換すればよいですか。
1.まず Uri をプロパティに持つクラスを用意
もしかして、下記スレッドに関連する質問でしょうか。
https://social.msdn.microsoft.com/Forums/ja-JP/766b2875-1f32-4995-b5e7-ba07eecec8fd/listbox?forum=vsgeneralja
でしたら、ただコードをC#へ移植するだけでなく、
2.上記クラスを管理するコレクションを用意
3.ListBox のデータテンプレートを編集し、アイテムの要素にImage クラスを持たせる
4.ListBox にコレクションをバインドする
という流れになると思います。
WPF による開発は、コードビハインドではなく MVVM パターン等を使ったバインディングが基本になるため、初心の方には若干理解しづらいものがあるかと思います。詳しくは以下の記事をご覧ください。
本フォーラムは、ユーザー(開発者)同士で情報交換を行うためのコミュニティです。初めて利用される方は、以下のアナウンスをご覧ください。 https://social.msdn.microsoft.com/Forums/ja-JP/ca9ecfb7-4407-4fcb-b8bd-207d68257e68?
- 編集済み ひらぽんModerator 2017年1月21日 13:18
- 回答の候補に設定 栗下 望Microsoft employee, Moderator 2017年1月23日 2:23
- 回答としてマーク 栗下 望Microsoft employee, Moderator 2017年1月27日 0:22
-
フォーラム オペレーターの栗下 望です。
Tsyuge さん、こんにちは。「Visual Studio 共通 フォーラム」カテゴリにつきましては、
基本的にVisual Studio IDE など言語に依存しない共通の話題をご投稿いただいているカテゴリでございます。
今回のご質問の内容から「Windows Presentation Foundation ( WPF ) 」カテゴリのほうが情報が集まりやすいと思いましたので私のほうで移動させていただきました。・.Net Framework > Windows Presentation Foundation ( WPF )
ご自身のスレッドは、「クイックアクセス」の「マイスレッド」の一覧で確認することが出来ます。
フォーラム ユーザーから回答をいただいていますので、
回答が参考になりましたら「回答としてマーク」を設定いただけますようお願いいたします。
MSDN/TechNet Community Support 栗下 望
- 編集済み 栗下 望Microsoft employee, Moderator 2017年1月24日 4:49