09/02/28 02:07:24
>>388
BitmapImage bmp = new BitmapImage();
bmp.BeginInit();
bmp.UriSource = new Uri(imgFile);
bmp.CacheOption = BitmapCacheOption.OnLoad;
bmp.EndInit();
391:デフォルトの名無しさん
09/02/28 02:49:29
みなさま。
早速ありがとうございます。
>>390
これで試してみました。
しかし、ウィンドウは開くものの、ファイルはなにも表示されなくなってしまいました。
392:デフォルトの名無しさん
09/02/28 12:30:28
>>391
コントロールに読み込んだイメージセットしてないだろ
393:デフォルトの名無しさん
09/02/28 12:38:49
UI要素の下や上だけに境界線を引くにはどうしたらいい?
394:デフォルトの名無しさん
09/02/28 12:46:38
>>392
bmp.UriSource = new Uri(imgFile);
だけではセットしたことにならないの?
セットの方法を教えてください。
395:393
09/02/28 12:57:36
自己解決
<Border BorderBrush="Black" BorderThickness="0 1 0 0">
396:デフォルトの名無しさん
09/02/28 13:27:07
>>394
処理の内容ちゃんと理解しなきゃ
397:デフォルトの名無しさん
09/02/28 13:33:32
>>394
>>388に書いてある
img.Source = new BitmapImage(new Uri(imgFile));
ってコードの、右辺の処理new BitmapImage(new Uri(imgFile))をファイルがロックされないように
書き直したのが>>390。出来上がったBitmapImageのインスタンスをimg.Sourceから参照させる
処理は書かなきゃ。
398:デフォルトの名無しさん
09/03/01 18:29:38
できました。1日いろいろ試してました。
(1)img.Source = new BitmapImage(imgFile);
(2)BitmapImage img = new BitmapImage();
img = imgFile;
(3)BitmapImage img = new BitmapImage();
img = bmp;
(4)BitmapImage img = new BitmapImage();
img.Source = bmp;
(5)BitmapImage img = new BitmapImage();
img.Source = bmp;
(6)BitmapImage img = new BitmapImage(bmp);
結局次のようにしてできました。
BitmapImage bmp = new BitmapImage();
bmp.BeginInit();
bmp.UriSource = new Uri(imgFile);
bmp.CacheOption = BitmapCacheOption.OnLoad;
bmp.EndInit();
img.Source = bmp;
399:デフォルトの名無しさん
09/03/01 18:30:14
処理の内容の理解をしている限りでは、
BitmapImage bmp = new BitmapImage(); //あたらしいbmp変数を作る。bmpのインスタンスを作る。
bmp.BeginInit(); //bmpの処理を始める。
bmp.UriSource = new Uri(imgFile); //bmpにUriソースからデータを読み込む。
bmp.CacheOption = BitmapCacheOption.OnLoad; //??
bmp.EndInit(); //読み込みの終了。これでディスクとは切り離される。
img.Source = bmp; //画面のimgにbmpをいれる。これでimgにbmpを表示できる。
これで表示はできロックもなくなりました。
しかしながら、問題が。
目的のファイルの削除をする、という動作がまだできないままなのです。
削除処理は次のように書きました。
private void button1_Click(object sender, RoutedEventArgs e)
{
System.IO.File.Delete(imgFile);
}
これでボタンを押すと、ウィンドウが消えるのですが、ファイルは残ったままです。
アドバイスお願いします。
400:デフォルトの名無しさん
09/03/01 20:07:14
>>399
string path = @"C:\test.jpg";
BitmapImage bmp = new BitmapImage();
bmp.BeginInit();
bmp.UriSource = new Uri(path);
bmp.CacheOption = BitmapCacheOption.OnLoad;
bmp.EndInit();
image1.Source = bmp;
System.IO.File.Delete(path);
これで動いたよ
> 削除処理は次のように書きました。
> private void button1_Click(object sender, RoutedEventArgs e)
> {
> System.IO.File.Delete(imgFile);
> }
これのパスを間違えてるとかじゃね
401:デフォルトの名無しさん
09/03/01 20:14:16
>>399
>bmp.CacheOption = BitmapCacheOption.OnLoad; //??
分からなければMSDNで調べろよ…
URLリンク(msdn.microsoft.com)
URLリンク(msdn.microsoft.com)
402:デフォルトの名無しさん
09/03/01 20:18:44
> bmp.CacheOption = BitmapCacheOption.OnLoad; //??
なんだよそれ?いい加減にしろよ。
URLリンク(msdn.microsoft.com)(VS.80).aspx
これ全部読むまで再質問禁止。
403:デフォルトの名無しさん
09/03/01 20:27:25
>>400
ありがとうございます。
なんだかわからないのですが、一度終了して再起動したら動くようになりました。
いろいろありがとうございました。
404:デフォルトの名無しさん
09/03/02 16:49:22
WPFの「Frame」カスタムコントロール作成でこけましたorz
Blendで作ってもらったFrameのXAMLをVSで読み込ませると
「'Frame' ControlTemplate TargetType は、テンプレートの型 'PlaceHolderControl' と一致しません。」(エラー場所は無駄な事言ってるので省きました)
と、例外が発生します。
コントロールを作ってもらっても一緒です。
しかし、これらは実際バグっているわけでもなく、ビルドもコンパイルも正常に動きます。
どうもVSのデザイナだけがこけています。
何かいい回避方法(Frameに似たコントロール)などありませんか?
よろしくお願いします。
環境:Windows7 VS2008
405:デフォルトの名無しさん
09/03/02 19:17:27
言ってることがよくわからない
FrameのControlTemplateを作ってるの?それ何の意味があるの?
そんなことしないでユーザコントロールにFrameを張り付ければ一緒だと思うんだが
406:デフォルトの名無しさん
09/03/02 19:29:38
FrameってHTML表示したいときとか
「戻る」「進む」ができるようにしたいときに使うんだよわかってる?
コンテンツを飾り付けしたいだけならDecoratorの派生クラス(Borderなど)使う
もちろんFrameを飾り付けするのにもDecoratorが使えるし,普通はテンプレート使わずにそうする
407:デフォルトの名無しさん
09/03/02 19:34:06
すいません、言うべき事が抜けすぎでした・・・
分け合って「Frame」コントロールを作ってもらいました。
これはWebページとXAMLファイルを頻繁に行き来することになったのでこのようにしています。
そしてコントロールにする必要があるのは、そのFrameの中にゴチャゴチャしたものをつける必要があったのです。
発注したコントロールに問題があるのかと思ったのですが、Frame自体を少しでも変えるとおかしくなります。
<Window.Resources>
<ControlTemplate x:Key="FrameControlTemplate1" TargetType="{x:Type Frame}"/>
</Window.Resources>
<Grid x:Name="LayoutRoot">
<Frame Margin="128,160,200,131" Content="Frame" Template="{DynamicResource FrameControlTemplate1}"/>
</Grid>
このような簡単なものでもエラーになってしまいます。
理由を教えてください
408:デフォルトの名無しさん
09/03/02 19:42:32
ちょっと状況が良く分からないんだけど、WPFにFrameコントロールがあるので
衝突しているんじゃないかな?
xmlns宣言で名前空間への参照を追加して、名前空間込みで「Frame」コントロールや
そのx:Typeを指定したらどうだろう?
409:デフォルトの名無しさん
09/03/02 19:48:34
その自作FrameのTemplatePart属性は確認した?
410:デフォルトの名無しさん
09/03/02 21:00:28
>>408
ちょっと判らなかったです・・・
MSDNをみてやってみたのですがうまくいきません。
アセンブリは「PresentationFramework.dll 内」となっているので問題ないですが、
XMLNSは参照して追加しても「タグ 'Frame' は、XML 名前空間 'URLリンク(schemas.microsoft.com)' にありません。」
となってしまいます。
色々やってみた結果、
<Frame Margin="120,192,136,139" Content="Frame" Template="{DynamicResource FrameControlTemplate1}">
<Frame.Resources>
<ControlTemplate x:Key="FrameControlTemplate1" TargetType="{x:Type Frame}">
<ContentPresenter />
</ControlTemplate>
</Frame.Resources>
</Frame>
ではVSでもBlendでもデザイナで編集したり、コンパイルできたりするようになりました。
結局こうなってしまう理由がわかりませんw
リソース内でFrameのスタイルを指定させたいのですが、どうしてもうまくいかない・・・
>>409
これはどういうことでしょうか?
「TemplatePart」というのが判らず仕舞いになってしまいましたorz
申し訳ないです。;;
411:デフォルトの名無しさん
09/03/02 21:08:56
コントロールテンプレートは完全に自由に書いていいわけじゃなくて,
最低限テンプレートに含めないといけないコントロールが決められてるのが普通
それを示す属性がTemplatePart
逆に,そういう条件が必要ないならあまりテンプレートを使う意味がない
412:デフォルトの名無しさん
09/03/02 21:19:23
>>410
ツール-オプション-テキストエディタ-xaml-その他-既定のビュー
で
「常にフルxamlビューでドキュメントを開く」
のチェックを外せば直るみたい。
でも、xaml直書きする場合、このチェックは入れておきたいよねえ。
なんか普通にバグっぽいぞ。
413:デフォルトの名無しさん
09/03/02 21:38:27
>>411
>コントロールテンプレートは完全に自由に書いていいわけじゃない
てっきり何をしてもいい>>412
物だだと思っていました!
TemplatePartは詳しく調べる必要があるようです。
>>412
うまくいきませんでした・・・
どうしても「'Frame' ControlTemplate TargetType は、テンプレートの型 'PlaceHolderControl' と一致しません」がデザイナのみにエラーが出てきます。
コンパイル、ビルドも出来るので間違ってはいないと思いますが、VSのデザイナが使えないというのはキツイです・・・
414:デフォルトの名無しさん
09/03/04 04:37:13
WPFのデザイナは相変わらず貧弱だなぁ
そこが萌えるんだけどw
415:デフォルトの名無しさん
09/03/05 16:28:41
WPF始めてみたいけどネット上には驚くほど資料ないねこれ・・・
416:デフォルトの名無しさん
09/03/05 16:40:00
InteliSenseこそ最上のヘルプ
417:デフォルトの名無しさん
09/03/05 17:02:12
>>416
試すパターンが膨大で困るw
418:デフォルトの名無しさん
09/03/05 17:12:14
書店にも本が並んでない
すべてxamlのせいで敷居が高くなってるせいだと思う
WPFだけなら新しいコントロールライブラリってことで十分普及したと思うよ
Microsoftはxaml使うのをWPFが使われるようになってからに遅らせるべきだった
419:デフォルトの名無しさん
09/03/05 17:25:04
ネットだと
URLリンク(ufcpp.net)
とか
URLリンク(uchukamen.com)
くらいを見て、後はいろんな人のブログを見てバインディング周りの
定石をしれば、本当の話IntelliSenseで十分ヘルプになるようになる
と思う。
420:419
09/03/05 17:26:32
ごめん、419の前にこれを投稿しようとしたんだ。
俺はWPF+XAMLはWindows Formsや昔のWin32APIでウィンドウ
作ってた時代よりも初心者向けだと思うよ。
本がないのも外国語の物は専門性の高い物から入門書まで多いし、
日本の出版事情が大きいんじゃないかな。
421:デフォルトの名無しさん
09/03/05 18:07:43
ちょっと質問!
TextBlockで普通の改行入りテキストを
<TextBlock TextWrapping="Wrap">
あれ?<LineBreak />
声が<LineBreak />
遅れて<LineBreak />
聞こえるよ<LineBreak />
</TextBlock>
こうやって作った後Blendとかに再読み込みさせると「Inline」がいっぱい引っ付いてくるんだけど、この書き方は推奨されていないから?
それともBlendの屁理屈?
422:デフォルトの名無しさん
09/03/05 20:01:29
初心者にとっては(とっつきやすさでは)
Windows Forms > WPF/XAML
Windows Formsは
・XMLを編集しなくていい
・APIのデザインも直感的(使いたい機能が「そこ」にある)
423:デフォルトの名無しさん
09/03/05 21:31:12
>>421
意味が同じだから
424:デフォルトの名無しさん
09/03/05 22:27:40
>>422
WPFはWindowsFormsと同じようにAPIベースで作成できるよ。
名前が違うだけでやってることはほぼ同じ。
初心者ってのはおまえ自身のことだろ。
425:デフォルトの名無しさん
09/03/05 22:31:49
>>423
答えてくれてありがとう!
何かTextBlockも機能的にはとてもいいけど、Labelの方が簡単でとっつき易いなー
426:デフォルトの名無しさん
09/03/05 22:43:40
一般のテキスト表示にはTextBlockを使う
Labelは別のコントロールに文字通りラベルとアクセスキーを付けるためだけに使う
ということでおk?
427:デフォルトの名無しさん
09/03/05 22:45:20
Labelは一行
TextBlockは数行
くらいにしか深く考えたことないや。
428:デフォルトの名無しさん
09/03/05 23:16:17
GDIが早くていいよ
429:デフォルトの名無しさん
09/03/05 23:37:44
>>419
bindingが覚えづらい。xml的お作法としてはああなるのが正当なのかも
しれないけれど、直感に反する書き方だし、わかりづらいし、何とかしてほしい
リソースがらみもそう。
とにかくxamlで中カッコ {}が出てくる場面はうんざりする。なんなのこの変態言語
って感じで。
430:デフォルトの名無しさん
09/03/06 00:33:21
>>429
それ、マークアップ拡張だから、使わないで普通にBinding要素を子要素として
書く事もできるよ。その方がInteliSenseの支援も受けられるし。
RelativeSourceが絡んでくる場合とか、マークアップ拡張使うと
中カッコが二重になって>>429が言う通りうんざりする。入力支援
もないし。でも、Binding要素とそのRelativeSourceプロパティに
RelativeSource要素を普通のxmlの文法で書けば嫌な点は解消される。
例えば、前に書いた、Canvasに置いてあるViewport3Dの幅をCanvasに合わせる
コードを書いておくね(なぜかHorizontalAlignment=Stretchだとうまくいかなかった)。
<Viewport3D.Width>
<Binding Path="ActualWidth">
<Binding.RelativeSource>
<RelativeSource Mode="FindAncestor"
AncestorType="{x:Type Canvas}"
AncestorLevel="1"/>
</Binding.RelativeSource>
</Binding>
</Viewport3D.Width>
等価なのは
<Viewport3D Width={Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Canvas}, AncestorLevel=1}}/>
だけど、これだと>>429が言うように支援がなくて書くのが大変だし、
実行時まで間違いが分からないし、実行時の例外の内容は分け分からないしで
嫌になるのも分かる。
431:デフォルトの名無しさん
09/03/06 00:36:17
あと、マークアップ拡張使う方がxmlの入れ子が無闇に深くならなくて済むので
必ずしも悪い事でもない。そこでマークアップ拡張使う場合にお勧めなのが
次のアンチョコ:
URLリンク(go.nbdtech.com?94E138EA)
432:デフォルトの名無しさん
09/03/06 01:39:57
まともなデザイナーがVSについていればもう少し使われやすいと思うんだがな・・・・
Formsはペタこれするのはわかりやすいけれど、それ以上ができない。
WPFはそういうところがエレガントにできるけど、バインディングとか正直わかりにくい。
433:デフォルトの名無しさん
09/03/06 08:13:24
>>429
たしかにな
1.xaml=エレメントの画面表示
2.コード=データの操作
3.補助定義表=それらのバインディング等
みたいに分離してみたらどうなのか。3.を1.にくっつけているからゴチャゴチャになっている。
そういう定義ファイルに、>>430なら、
[ myViewport3D.Width <= myCanvas1.ActualWidth ]
とでも書いておけばそれ1行でOKにする。一目瞭然。初期化等も大方は
[ myWindow1.Background = Brushes.White ]
そこに記述でいいとすれば、xaml自体の方も(エレメントの単純な階層関係記述が基本になり)ごくすっきりする。
でこんなのは、システムがその表を解析して現状xamlに展開する、という形に出来る
(ものが多い、or出来るものだけをこういう初期定義可能にする)だろうから、拡張機能として比較的簡単に出来そうじゃないのか。
434:デフォルトの名無しさん
09/03/06 17:29:22
すいません、バインディングに関する質問です
複数のPage間でテキストデータをバインディングするとき、どうすればいいかわかりません。
名前空間などに定義する方法などが考えられるのですが、一番簡単で効率のいい方法はないですか?
435:デフォルトの名無しさん
09/03/06 17:57:21
このスレをマイクロソフトに教えればわかりやすい資料つくってくれるかもしれないよ
436:>>434
09/03/07 15:56:56
マイクロソフトのサンプルの中にWindow間でデータのバインディングをやっているのを見たのですが、
やっぱり名前空間を全てのWindowのザムルに定義している方法を取っているので、これが妥当だと思う
437:デフォルトの名無しさん
09/03/08 12:54:50
ProgressBarでバーをスムーズに(FormアプリのProgressBarStyle.Continuousみたいに)表示させるには
Templateを弄るしかないんですか?
438:デフォルトの名無しさん
09/03/09 18:06:04
DataContextにオブジェクトが設定してあるとして
LoadedやUnloadedイベントにそのオブジェクトのメソッドを登録したいのですが
コードを書かずにXAML上だけでできますか?
439:デフォルトの名無しさん
09/03/10 04:39:43
ここってsilverlightの話もしていいの?
440:デフォルトの名無しさん
09/03/10 08:15:43
>>439
専用スレあるよ。
Microsoft Silverlight 2.0 その3
スレリンク(tech板)l50
441:デフォルトの名無しさん
09/03/10 21:11:14
↑別スレですか
ありがとうございます
442:デフォルトの名無しさん
09/03/11 10:41:36
誰かMSに報告
Blendにて「Hyperlink」編集不可
直タグ打ち可
443:デフォルトの名無しさん
09/03/11 11:07:30
お前がやれ
444:デフォルトの名無しさん
09/03/11 11:24:06
アカウントとるのめんどくせw
エヘッ♪
445:デフォルトの名無しさん
09/03/11 22:36:52
xamlで記述したプログラムととC#のプログラムって
記述方法が違うだけで使ってるのは同じ.NET frameworkだから
性能とかはかわらないんだよね?
446:デフォルトの名無しさん
09/03/11 23:07:15
かわらん
447:デフォルトの名無しさん
09/03/11 23:08:12
ロードはたぶんXAMLの方が遅い
ロード後の動作は全く一緒
448:デフォルトの名無しさん
09/03/11 23:46:48
ありがと
htmlの描き方が苦手なおれはxamlじゃなくてまずC#でWPF勉強するわ
449:デフォルトの名無しさん
09/03/12 13:07:52
BitmapImageで読み込める画像形式を追加することはできませんか?
できればアプリケーション内でローカルに追加/削除できて
他のアプリケーションには影響しないようにしたいのですが。
450:デフォルトの名無しさん
09/03/12 16:10:21
UriSourceプロパティを使うのはたぶん無理
自前のコードで読み込んでStreamSourceに設定するしかないと思う
でもそうするといちいち他の画像形式に変換しないといけないし
BitmapImageを使う意味もないので
BitmapSource.Createを使ってピクセルデータから直接作った方がいい
451:デフォルトの名無しさん
09/03/12 17:17:54
アニメーション設定とかしてる場合、コードとザムルアニメーションはやっぱりコードの方が優先?
設定できたりする?
452:デフォルトの名無しさん
09/03/12 17:30:33
後で設定した方が有効になるだけだが
453:デフォルトの名無しさん
09/03/12 18:30:36
>>433
> 3.補助定義表=それらのバインディング等
これをデザイナのプロパティウィンドウあたりで簡単に設定できれば
xamlの中に取り込まれていても問題ないと思うんだが。
デザイナがひどすぎると思う。
454:デフォルトの名無しさん
09/03/12 18:42:18
結局デザイナだろ
WinFormsはもっと汚い形でやってるんだから
455:デフォルトの名無しさん
09/03/13 16:04:08
XMLバインディングをやってみたんだけど、「存在するXMLと同期」じゃなくて、
「存在しているXMLをリソースとして利用」のほうが正しい?
どうも作ってみても、EXEの中にリソースとして取り込まれて、XMLファイルの切り替えとかが出来ないw
RSSの仕組みでネットワークにあるものを指定してやると、切り替えとかをネットワーク越しに出来るけどローカルでは無理な感じ。
456:デフォルトの名無しさん
09/03/13 16:32:24
ごめん嘘、忘れて
457:デフォルトの名無しさん
09/03/14 02:47:23
ポカー
458:デフォルトの名無しさん
09/03/14 07:13:23
RichTextBox に Wordwrap プロパティがないんだけども、
改行しないで表示させたい場合どうしたら良いの?
459:デフォルトの名無しさん
09/03/14 14:17:38
TextBoxでいいんじゃね?
RichTextBoxの中にあるFlowDocumentだっけか、
あれにパネルとか突っ込んで見たんだけど、どうもスクロールバー自体がテキスト扱いになって操作できないし。
460:デフォルトの名無しさん
09/03/14 15:06:30
>>458
URLリンク(msdn.microsoft.com)
> RichTextBox ではテキストが常に折り返されます。
> テキストの折り返しが不要な場合は、FlowDocument の PageWidth を RichTextBox の幅より大きく設定します。
> ただし、この場合も、ページの幅に達するとテキストが折り返されます。
なので、
<RichTextBox><FlowDocument PageWidth="300"/></RichTextBox>
<RichTextBox><FlowDocument MinPageWidth="680" MaxPageWidth="1024"/></RichTextBox>
みたいに、適当に大きな幅を入れておくとか。
ただ、横スクロールバーを表示すると、最初からスクロールできる状態になってしまうのが難点だけど。
後は、イベントで動的に幅を測定して FlowDocument.PageWidth に反映させるとか。
461:458
09/03/14 23:04:06
>>459
色つけたかったんで、TextBoxじゃだめなのよ
>>460
ありがとう。助かったぜ。
462:デフォルトの名無しさん
09/03/15 00:28:01
WCFおもしろいな。しかしスレはない
463:デフォルトの名無しさん
09/03/15 01:17:46
>>462
Webサービス プログラミング総合スレッド
スレリンク(tech板)
464:デフォルトの名無しさん
09/03/15 01:38:18
>>462
特に旧来のWindowsForms、これからのスタンダードなWPF、XBAP、Silverlight、そして携帯電話や汎用
ブラウザ向けのASP.NETなんかで相互に共用できるアプリケーションシステムの構築となると、
やっぱりWCFは欠かせないよね。
俺の場合、データ・レイヤはSQL Server、アプリケーション・レイヤは機能・役割ごとに複数個のWCFで構築。
プレゼンテーション・レイヤは、WinForm、WPF、XBAP、Silverlight、Javaでマルチクライアント環境を実現。
今はこの基本3層構成をWebサービスのマイブームと位置付けて色々と遊んでいる。
465:デフォルトの名無しさん
09/03/15 13:16:46
重要度的には Silverlight>WPF>XBAP な希ガス。
466:デフォルトの名無しさん
09/03/15 13:34:46
>>465
XBAPはSilverlightへの発展的解消で完全に進化が止まっちゃったからね。
Silverlightは資料もチュートリアルも豊富。WPFとの2本立てで決まりだね。
そういえば、MIX'09でSilverlight 3の発表ですな。
ブラウザナビゲーションとの連携が目玉らしいけど、それよりTextBox上での
右クリック時にコピペ系のコンテキストメニューを出すようにして欲しいな。
467:デフォルトの名無しさん
09/03/15 13:46:59
もうSliverlight3の発表ですか、これは楽しみ。
ついでにBlendも改善バージョンを発表してもらいたいですね。
468:デフォルトの名無しさん
09/03/16 02:29:08
Silverlightで書かれたサイトって一発でわかる?
469:デフォルトの名無しさん
09/03/17 00:29:03
インストールを強制されるからね
470:デフォルトの名無しさん
09/03/17 18:36:56
C#でXPSドキュメントを弄っているけど、これって面白いな。
XpsDocument NewXpsDoc = new XpsDocument("D:\\AAAA.XPS", FileAccess.ReadWrite);
XpsDocumentWriter XpsDocWrtr = XpsDocument.CreateXpsDocumentWriter(NewXpsDoc);
XpsDocWrtr.Write((Visual)this);
NewXpsDoc.Close();
たったこれだけでWindowと配下のコントロールすべてを含むXPSドキュメントが生成されて
D:\AAAA.XPS に出力された。
VS2008かExpression Blendを使ってXAMLでサクッと注文書などの伝票フォーマットのひな形の
Windowを書いて、LINQでDBやXMLをバインディングさせてやれば、カンタンに自社ロゴ入りの
伝票なんかをXPSで出力できるな。
もうCrystalReportやQuickReport、サードパーティーのPDF帳票コンポーネントなんて不要だね。
さらにバーコードコントロールも .NET 4.0で標準搭載してくれれば・・・
471:デフォルトの名無しさん
09/03/19 03:50:47
でもC#のプログラムって商用にしにくいよね
割と簡単にソースを推論できるから
472:デフォルトの名無しさん
09/03/19 04:25:53
>>471
情報システム系の業務アプリには向いているよ。
オンライン販売やパッケージ販売のソフトウェア制作には向かないかも。
商用≠開発したソフトウェアの製品マスターのコピーを販売する
商用=商用の設備・ツールとしてソフトウェアを稼動させる
473:デフォルトの名無しさん
09/03/19 07:17:14
難読化してありゃ十分じゃね?
客先で難読化されてた奴見たけど中身を見る手間相当あがると思うけど。
動作のわかる所からクラス機能を推論して意味通る名前を当てはめるにしても全体の把握は大変そう。
一部のロジックがわかれば良くてそこだけピンポイントで調べるのには向かなそうだが。
474:デフォルトの名無しさん
09/03/19 07:21:40
VisualStudioに組み込んでくれないかな
難読化
475:デフォルトの名無しさん
09/03/19 11:06:32
商用というかメーカー製PCのバンドルソフトでも.NET利用がちらほら見かけるようになったが、
大抵ネイティブモジュールとのハイブリットだしな。
476:デフォルトの名無しさん
09/03/19 14:52:32
ネイティブと混ぜたらネイティブ部分はちゃんとブラックボックス化するのか?
あと自作したlibやdllを混ぜたらリコンパイルきかないだろう
さすがに機械コードを読んで作るやつはいるわけないし
477:デフォルトの名無しさん
09/03/19 15:34:17
GUIだけ.NETって感じ?
478:デフォルトの名無しさん
09/03/19 15:56:36
C++で書いてあるコードでも、UI部分のように、そのほとんどがAPIコールのものは解読は容易。
だいいち、そんなに解読されて困るコアのアルゴリズムがあるんだったら、それはサービス化
してSaaSで提供するとか考えるべき。
479:デフォルトの名無しさん
09/03/19 21:20:25
tabControlのタブに画像を表示させるのはどうすれば良いのですか。
このアプリのようにしたいのですが。
URLリンク(tmpgenc.pegasys-inc.com)
480:デフォルトの名無しさん
09/03/19 21:29:45
ItemTemplateプロパティで
481:デフォルトの名無しさん
09/03/19 21:40:39
>>479
TabItem.Header に Image を指定する。
<TabControl>
<TabItem>
<TabItem.Header>
<Image Source="example.jpg" Stretch="None"/>
</TabItem.Header>
....
</TabItem>
....
</TabControl>
482:デフォルトの名無しさん
09/03/20 07:25:57
481>>
ありがとうございます。
「ファイル example.jpg はプロジェクトの一部ではないか、'Build Action' プロパティが 'Resource' に設定されていません。」
となります。Resource設定はどのように行うのでしょうか。
483:デフォルトの名無しさん
09/03/20 11:30:12
>>482
Visual Studio を使っているなら、
プロジェクトを右クリック->追加->既存の項目...->イメージ ファイル->example.jpg。
ビルドアションの変更する場合は、
プロジェクトに追加したファイルを右クリック->プロパティ->ビルド アクション。
詳しくは、ここを参照。
Windows Presentation Foundation アプリケーションのリソース、コンテンツ、およびデータ ファイル
URLリンク(msdn.microsoft.com)
484:デフォルトの名無しさん
09/03/20 20:48:14
WPFの窓の中にopenglで描画したり,WPFの窓をC++で使うことは出来ますか?
485:デフォルトの名無しさん
09/03/20 21:12:32
>>484
とりあえずここを読んでみては?
WPF 移行と相互運用性 - MSDN
URLリンク(msdn.microsoft.com)
486:デフォルトの名無しさん
09/03/20 21:18:12
WPFは4.0でよくなるのかなー
Form,Silverlight,WPFどれがどうつかわれてくのかいまいちさきがみえん。
Silverlight3.0とかかなりよさげで環境を問わないWeb,デスクトップ含めたUIフレームワークとしてかなり有望そうだが。
487:デフォルトの名無しさん
09/03/20 21:46:10
>>485 読んでみます
488:デフォルトの名無しさん
09/03/20 23:24:43
機能もだが、XPで4.0がサポートされるのかどうか不安だ。
グラフィック関係の新規APIはほとんどVista以降のみ対応だからなあ。
489:デフォルトの名無しさん
09/03/21 03:38:28
SGMLは<tag> </tag>ではなく[tag][/tag]にすべきだった
<>入力するときにShiftがめんどくさいです><
490:デフォルトの名無しさん
09/03/21 08:04:07
>>483
ありがとうございます。できました。
491:デフォルトの名無しさん
09/03/21 09:30:52
WPFって時期尚早と思わない?
初心者が取っ付くには敷居が高すぎる。
ウインドウズフォームとちがって単純に貼り付けて
プロパティを操作するだけではだめだ。
インテリセンスも効かないXAMLファイルを操作しなくては
ならないし。
492:デフォルトの名無しさん
09/03/21 12:28:12
時期尚早だよ。だからこそ楽しい。
493:デフォルトの名無しさん
09/03/21 14:00:00
そういうこと。F#もいい。
494:デフォルトの名無しさん
09/03/21 14:23:11
少なくとも生産性は低いな
495:デフォルトの名無しさん
09/03/21 14:40:02
>>491
俺はC#だけで書いてる
496:デフォルトの名無しさん
09/03/21 15:06:20
確かWPFってデュアルコア6GHz時代を想定して作ったんじゃなかったっけ?
497:デフォルトの名無しさん
09/03/21 15:33:44
どう考えても、XAML + C# の方が生産性が高くないか?
498:デフォルトの名無しさん
09/03/21 15:37:54
WinFormよりXAML+WPFの法がよほど効率的だな。
499:デフォルトの名無しさん
09/03/21 15:59:55
DataGridViewさえ充実していれば…
500:デフォルトの名無しさん
09/03/21 16:01:15
次期バージョンを待て
501:デフォルトの名無しさん
09/03/21 17:56:52
>>497
>>498
何を持ってそう言える???
502:デフォルトの名無しさん
09/03/21 21:17:12
生産性を高くするためのフレームワークなんだから、低かったら使う意味ないじゃん。
503:デフォルトの名無しさん
09/03/21 23:55:26
XAMLでUIの階層分けを意識して記述できるし、
アニメーションさせなきゃならない部分があっても気軽に書ける。
504:デフォルトの名無しさん
09/03/22 00:06:30
WinFormsはデザイナでコントロールの親子関係を変更するのが面倒だったな
その点、WPFはXAMLを少し書き換えるだけなので楽だ
505:デフォルトの名無しさん
09/03/22 00:09:13
ポトペタ以上のことやろうとしたらWinFormsは簡単に破綻するでしょ。
506:デフォルトの名無しさん
09/03/22 00:59:04
XAMLはコントロールの親子関係もプロパティもすべて一覧で把握できる。
507:デフォルトの名無しさん
09/03/22 01:02:31
UIの柔軟性とソースでの視認性の双方のバランスがいいよなXAMLは
これに関してはWinFormとは段違いでいいと思う
508:デフォルトの名無しさん
09/03/22 01:12:50
>>501涙目
509:デフォルトの名無しさん
09/03/22 01:26:51
C#とxamlとで相互変換できるならVSでボタン一つで切り替えるようになるといい
それぞれのいい所取りできれば最高
510:デフォルトの名無しさん
09/03/22 01:45:40
C#の利点(リファクタリングとか)がXAMLでも完璧に使えたらとは思うが、
そのアプローチには無理があるだろう
XAML→C#は可能だろうけど、
C#→XAMLはC#のコードがXAMLに埋め込まれる事になりそう
511:デフォルトの名無しさん
09/03/22 02:10:37
>C#→XAMLはC#のコードがXAMLに埋め込まれる事になりそう
これに関してはマイクロソフト様より「技術的には可能だが非推奨」という
実務ガイドラインの見解を戴いております。
512:デフォルトの名無しさん
09/03/22 11:54:50
コードが埋め込まれたとしても、そんなところには見向きもしないでxamlで見やすいところだけ編集するんだから無問題
513:デフォルトの名無しさん
09/03/23 15:22:18
WPF Toolkit が更新されてるね。
DataGrid, DatePicker, Calendar のバグが修正されたみたい。
WPF Toolkit - March 2009 Release
URLリンク(wpf.codeplex.com)
URLリンク(blogs.wankuma.com)
↑のスクロールで列の表示が崩れるバグもしっかり修正されてたよ。
514:デフォルトの名無しさん
09/03/24 20:22:05
XAML編集でちゃんとインテリセンスが効けばいいんだけどねえ。
この辺もVS2010で改善されるのかなあ……
515:デフォルトの名無しさん
09/03/24 20:28:48
>>514
{Binding }にもインテリセンス効くようになるらしいよ
エディタも十分高機能化するそうだけど
516:デフォルトの名無しさん
09/03/25 03:46:02
VS2008でその水準に達していなかったのが最大の失策
517:デフォルトの名無しさん
09/03/25 11:40:19
>>515
>{Binding }にもインテリセンス効くようになるらしいよ
これはかなり嬉しい。
そういや、WPF Toolkitも標準で入るとか聞いたが…。
518:デフォルトの名無しさん
09/03/25 19:05:20
Windowsライクな外観を作りにくい