元スレMicrosoft Silverlight その7
silverlight覧 / PC版 /みんなの評価 : ○
652 = :
"#AARRGGBB" で書ける
653 = :
>>652
ありがとうございます
654 = :
SharpZipLib.Silverlight4.dll使ってるんだけど、ZipEntryで日本語の
ファイル名を受け取ると、きれいに文字化けしてる。
これ、回避する方法ない?
バイナリでセントラルディレクトリを読んで...というのは避けたいし、
これだけのために商用ライブラリ買うのももったいない...
657 = :
Stringの内部表現(バイト)を直接見る方法ってあるの? それがわからないと
破壊されているのかどうかがはっきりしない。zipentry.nameの表示上では
&HFE&HFF,&HFE&HFF,....の同じ化け文字が繰り返し表示される。
660 = :
そこがよくわからない。
Encoding.GetBytesって、Unicodeなどの形式に変換したBytesを取り出す
ということなんじゃないか? Stringのポインタの先にあるメモリを直接
見られさえすれば、とりあえず破壊されているのかどうかの判断はつくんだが。
662 = :
文字化けってのがどうなってるかがよくわからんが
ファイル名称はS-JISなのにSharpZipLibがそれを気にしないで
そのまま処理してるとなれば
S-JISをそのまま.netのUTF16?とかにしちゃってるんでしょ?
だったらstringからバイト配列を取り出してそのままメモリストリームにでも突っ込むとかして
エンコーディング処理させればS-JISからいい感じで文字が変わってそうだなと思って
663 = :
ドラッグして移動可能な枠をユーザーコントロールで作る場合
Gridなどのベースの上に四角などを描画するけどマウス関連の
アクションを拾うコードはGridに描けばいいのかそれとも上に載せる
図形に描けばいいのかどっちなんだろう?
以前図形単体ではうまく行ってたロジックを移植したら思ったように動いてくれない
664 = :
>> 662
うん、たぶんそうなんだと思ってる。「String配列からバイト配列を取り出す」
っていうのを、VBでやる方法がわからないって書いたほうがよかった。すまん。
Silverlight用にShiftJIS->Unicodeを自前でやるライブラリは作成済みなので、
Byte配列さえ手には入ればどうにかなるんだがな...
素直に、SharpZipLibをゴゾゴソして、ZipEntryのNameを直接Bytesで受け取れる
プロパティを追加するか...
665 = :
WinFormの方で試したけどこれで文字コードが取れるな
private void Form1_Load(object sender, EventArgs e)
{
string moji = "もじ文字";
char[] mojimoji = moji.ToCharArray();
this.Text = "";
foreach (char c in mojimoji)
{
this.Text += Convert.ToInt16(c).ToString("X4") + " ";
}
}
666 = :
>>663
自分が作ったパワポっぽいものでは、
上の図形(FrameworkElement)側で拾うようになってる。
667 = :
>>666
ありがとうございます。
移動についてはGirdごと移動してますか?
それともFrameworkElement側だけですか?
668 = :
>>663
GridSplitterでは要件を満たさないの?
669 = :
>>664
SharpZipLibが元のバイト列UTF16として解釈しているなら
Encoding.Unicode.GetBytes(文字列)
UTF8として解釈しているなら
Encoding.UTF8.GetBytes(文字列)
ただし、Unicode文字として解釈できなかった部分は失われて復元できないので、
SharpZipLibを書き換えた方がいいだろうね
670 = :
>>668
今SilverLightを勉強しながらなのでどれがいいかってさっぱりなんですよね
とりあえずやろうとしてるのがグラフィックツールなどで図形の大きさとかをいじれるように
表示するガイドマーカーをsilverlightなりの実装方法に変えてる途中なんですよ
671 = :
>>667
コード見直してみたが、
ラップコンテナとしてCanvasを使っていったんそれに詰めて、
MouseMoveが来るごとにCanvas.SetTopなんかの添付プロパティで操作するようになってた。
なにをしたいかによるけど、
StackPanelの子なんかをドラッグして並び変えたいのなら、
ドラッグ中はいったん親コンテナから抜いてCanvas上に貼りなおして、
ドロップ時に適当な順番に挿入する、というのがいいと思う。
GridSpritterで用が足るのならそっちのほうが手軽だとは思う。
672 = :
>>670
要するにこういうことがしたいんでしょ?
Ms-PL扱いでいいから好きに使ってください
http://www.dotup.org/uploda/www.dotup.org1338242.zip.html
673 = :
>>672
その実行ファイルの方動かないぞ
htmlを開けばいいんだろ?
674 = :
>>673
そうです
というか普通xap単品では開けない。
675 = :
忘れてた。
1. 左上のnewボタンを押す
2. rectボタンなどを押してから真ん中の白紙をクリックすると図形が現れる
3. その図形をクリックする
ってな要領。
ちなみにまだ大きさを変える部分(ガイドマーカーをドラッグしたときの処理)は実装していない
676 = :
そのボタンとかなにもでないw
真っ白w
ブラウザ依存とかあります?
679 = :
windowsXP SP3 + FireFox3.6.13 だと表示されず
windowsXP SP3 + IE8.0.6001だと表示された
多少SL本体もしくはxapを動かすための周辺コードに依存がありそうだね
680 = :
Win7x64+Firefox3.6は白紙
IETab(IE8)なら見えた
681 = :
ビルド時にBinフォルダに入ってるデフォルトの出力をzipしただけだったんだが、
そうなるといろいろチェックが大変になるかも。
682 = :
何か、Win版のFxが駄目っぽい雰囲気?
683 = :
>Silverlight アプリケーションでハンドルされていないエラーが発生しました:
>コード: 2104
>カテゴリ: InitializeError メッセージ:
>Silverlight アプリケーションをダウンロードできませんでした。Web サーバーの設定を確認してください
Firebugはこう言ってる
684 = :
実行してみて気付いたのだが、
重なった図形があるときに下の図形をクリックするとガイドマーカーも一緒に隠れてしまうな。
理由は
+LayoutRoot
+Canvas
+ガイドマーカー
+図形
+Canvas
+ガイドマーカー
+図形
...
という設計にしているせいだが、
普通はガイドマーカーを隠さないほうがいいので、
各図形からガイドマーカーを表示したい矩形座標を返す関数を用意して、
ガイドマーカー自体はLayoutRootのChildrenの最上位に固定しておくほうがいいかも。
ドラッグしたらイベントで通知して連動させるか、Bindingできるならそれで、という感じで。
685 = :
>Firefoxで駄目な人
他のSLアプリをローカルで実行した場合も、同じ様に駄目なんだろうか。
ちょっと試してみて欲しいかも。
686 = :
>>685
デフォルトでFF使ってるが問題ないな
このアプリで初めてかも
687 = :
>>685
新規プロジェクト作ってみたけど動かないね
689 = :
IE9で動いたり動かなかったりするのはなぜだ
691 = :
うはー最悪だ・・・
Canvasの継承じゃなくユーザーコントロールで作り直したのに
Slider.ValueChangedをXAMLに記述したらまた読み込み待ち画面のままだorz
692 = :
>>691
お前もうソース全部さらせよ・・・
693 = :
ローカルに置いたのが動かないのは
日本語パスの問題じゃねーの?
694 = :
ユーザーコントロール内部に貼り付けたコントロールのイベントハンドラを
外部に使わせる場合はどうかけばいいのでしょうか?
setは問題ないんですがgetがよくわかりません
+=とかできるのが関係してるようですが・・・
695 = :
+LayoutRoot
+Canvas A
+図形
+図形
+図形(Point A,Point B・・)
+Canvas B
+ガイドマーカー A
+ガイドマーカー B
+Canvas B
+tool窓
こんな感じのレイヤーで動かしてるプログラムがあるんだけど
ガイドマーカーAやガイドマーカーBを動かすと図形のPointAが変わったりPointBが変わったりする
ようにしてあるんだがバインドでうまくやる方法はないだろうか?
あとガイドマーカーが動いたりするとCanvas Aに指示を出したりするだけど
現在はCanvas BがCanvas Aのインスタンスを持ってたりして気持ち悪い状態だったりする
696 = :
図形とガイドマーカーのMかVMにバインドするだけじゃないの?
イベントハンドラに書いた処理でモデルを直接操作したり、モデルすっ飛ばしていきなりビューの要素を扱う、
などの糞コード書いているのでなければ悩むことなどなさそうだけど
697 = :
>>696
マーカーの表示位置とPointのスケールが1:1なら単純にバインドでいいんですけど
問題は1:1.5とか1:0.5とか拡大縮小にあわせる必要があるんですよね・・
その辺を含めて何かないかなあと思って
698 = :
>>697
Binding.Converterに何か噛ませればいいんじゃないの?
699 = :
>>698
おお!
そんなのがあるんですね
調べてみます
ありがとうございます
700 = :
IsoratedStorageに自作クラスのオブジェクトを保存しようとすると
例外が投げられる(SiteSettingsのSaveメソッド)
型 'System.Windows.UIElement' をシリアル化できません。
この型に DataContractAttribute 属性を設定するか、この型のメンバーのうち
シリアル化するものすべてに DataMemberAttribute 属性を設定することを検討してください。
または、型をパブリックにして、パラメーターなしのコンストラクターを追加することも可能です。
こうすると、型のすべてのパブリック メンバーはシリアル化され、属性は必要ありません。
自作クラスのプロパティにImageオブジェクトがあるからだろうけど、具体的に何をすれば良いの・・・
MSDNでDataContractAttribute検索してもまったく理解できん死にたい
類似してるかもしれないスレッド
- Microsoft Silverlight その9 (574) - [96%] - 2023/1/25 14:30
- Microsoft Silverlight その8 (996) - [96%] - 2011/11/12 23:46 ○
- Microsoft Silverlight その6 (1001) - [96%] - 2010/11/1 4:09
- Microsoft Silverlight その5 (984) - [96%] - 2010/4/16 20:20 ☆
- Microsoft Silverlight その4 (1001) - [96%] - 2009/12/5 9:05 ○
- Microsoft Silverlight 2.0 その3 (556) - [83%] - 2009/3/24 0:35 ○
- Microsoft Silverlight 2.0 その2 (1001) - [78%] - 2008/11/21 11:47 ○
- Microsoft Silverlight 2.0 (1001) - [74%] - 2008/5/12 6:08 ○
- Silverlight登場で.NET使い大勝利!!! Part2 (525) - [18446744073709551603%] - 2016/10/16 0:30 ○
トップメニューへ / →のくす牧場書庫について