WPF
微妙にはまった。原因はxamlのWindow属性で Visibility="Hidden" にしていたためだった。
置き換えて試してみたが、Softnessプロパティがないから全然イメージ変わっちゃう*1。 DropShadowBitmapEffectはVistaエアロっぽかったのに。HLSLとかめんどくさそうなので手を出したくないし。困りんぐ。 …ってか、BlurRadiusを使えってことか。20ぐらいに…
Program Filesの下にReference Assembliesというディレクトリがある。この中にスタイルライブラリが含まれている。使い方はこちらに分かりやすい解説がある。 で、これらのスタイルは貼り付けたコントロールに適用されることになるのだが、スタイルを改変し…
アセンブリに埋め込まれたXAML(格納されているのはバイナリ形式のBAMLね)を見るには、以下の手順でいける。 Lutz Roeder's Reflector for .NETをダウンロード。 Reflector用のBamlViewerプラグインをダウンロード。dllはReflectorの隣にでも置いておく。 R…
エフェクト関連の機能が変わっている。で、UIElement.BitmapEffectを使っていたのだが、「パフォーマンスすっげえ悪いからそのうち無くなるよ。UIElement.EffectにShaderEffectを組み合わせな」とObsolete警告がいちいち出る。でもそれってSP1入れてないとビ…
TimerでもStoryboardでも非常に描画がモッサリするウィンドウがあり調査していたところ、解決方法を発見した。 詳細な理由は調べてないんだけど、Canvasをコンテナにするとモッサリするという事実は確認できた。コンテナをGridやStackPanelに変えるだけで、…
作成したカスタムページを利用したページを作成する際に、XAMLでイベントを記述すると、「プロパティ 'Hoge'は見つからなかったか、型 'MyPage'に対してシリアル化できません。」となる。なんじゃらほい。 この辺には書いてないんだけどな。 追記 XAMLエディ…
System.Windows.Forms.Applicationにしかないんだけど。裏スレッドで例外が起きた場合にキャッチできずドカンと落ちつつスレッドが残ってアプリがゾンビになる。System.Windows.Applicationの場合は、どうすりゃいいのさ。 追記 おっし!DispatcherUnhandled…
Properties/Resources.resxには、文字列リソースとしてApplicationTitleを追加しておいて、XAMLには以下のように記述した。 <Window xmlns:prop="clr-namespace:MyNamespace.Properties" Title="{x:Static prop:Resources.ApplicationTitle}" .../> しかし「MyNamespace.Properties.Resources.ApplicationTitleという静的メンバは含まれていません」というエラーになる。コードか</window>…
Window内でのUIElementの移動コードに続けてPointFromScreen,PointToScreenなどを実行すると、表題の示す例外が発生することがある。 または例外が発生しないまでも、正しい座標が取れなくなることがある。正しい座標でない例としては、StackPanelにUIElemen…
xamlの中でターゲットのプロパティを表現するものをコードで指し示すにはPropertyPathを使うとよい。以下はOpacityを使って徐々に可視化するアニメーションをC#で記述する例。 相当するxaml <Storyboard x:Key="DoShow"> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="{x:Null}" Storyboard.TargetProperty="(UIElement.Opacity)"> </doubleanimationusingkeyframes></storyboard>
WPFアプリケーションとしてプロジェクトを作ってから、プロジェクトプロパティから種類をクラスライブラリに変更する。 先にクラスライブラリとして作成してしまうと、ウィンドウやページを新規追加できなくなるわ、他プロジェクトからxamlとコードのセット…
を実現する方法探したけど、DQSDのソース読む限り、IOleControl,IDockingWindow,IDeskBandなどを実装したCOMにしないとならないので、C#でWPFだと絶望的なかんじ。とりあえず調査保留。 こちらのハマリ情報も参考になりました。IE上でのDeskBandはとりあえず…
なんかこちらの情報と同じ現象。すでに最初から手元では.NET Framework 3.5で開発してるから、ハードウェアアクセラレータ対応なはず。しかし手元で見る限り改善されていない。 iMac Aluminum (Mid 2007)だし性能的にイケてないはずないよなぁ…。Vistaのパフ…
同じプロジェクト内での参照はデザイナがまともに動かなくなるのでクラスライブラリに分割してそっちにベースクラスを置く。 ソリューション内でプロジェクトの参照関係を追加して繋げれば良し。 クラスライブラリの方をちゃんとビルドした上で参照を作ると…
ウィンドウ間でZOrderを一定化するためにはWindow同士でOwnerプロパティをチェインしておけば良い。ただTOPMOSTには追随しない。
任意で選択できる割に、コレクションエディタやらのダイアログが動作しないのはひどし。しかたないので、TypeDescriptionProvider, TypeDescription, TypeConverterを作る。NameValueCollectionぐらい用意しておいてほしいなぁ。
色が、#00rrggbb では完全透過になってしまい、その完全透過の領域ではマウスイベントがこない。これを回避する手段としては、#01rrggbbにするのが一番手っ取り早い。人間の目にはほとんど完全透過にしか見えないからね。
あそゆこと。