ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

WPFコミュの質問

  • mixiチェック
  • このエントリーをはてなブックマークに追加

コメント(37)

「Windows Presentation Foundationプログラミング(川西裕幸)」には、BGMやサウンドの扱いについて書かれていないようですが、WPFでmp3やwavファイルは読み込んで再生できるのでしょうか?

ゲームにしか必要ないかもしれませんが。
たけしさん>
MediaElementで動画と同じように再生できますよ。
「Windows Presentation Foundationプログラミング」の293ページを参照してください。
ソースにMP3やWMAやWAVを指定すると再生されます。
伊勢 シンさん、ありがとうございます。

動画が再生できるのだから、音もできて当然でした。
□ 質問「音が一回しか再生されない」 □

また音の質問なんですが、一回目のPlay()は再生されるのですが、二回目以降Play()しても音が出ません。

どうすれば何度でも音が出せるでしょうか?
質問「ボタンをクリックしたらその画面を消して違う画面を表示する」

という方法がわかりません。
Window1のボタンをクリックしたらWindow2が表示
みたいにしたいのですが・・・・。

卒研で、JAVAのプログラムを移植みたいなことをしてるんですが・・・。最初でつまづいてます。
しらちゃんさん
そうですね。すみませんでした。

<Button Click="kazu" x:Name="Base" Content="第一章"/>

public void acPerformedtion(object sender, RoutedEventArgs e)
{
if (Name.Equals("Exit"))
Close();  ←ウィンドウを閉じたかったのです。
else if (Name.Equals("Base"))
{
Kisuu.Window2.GetWindow(this);←ここで次のwindowを開けるかな?って思って書いてみました。
}

}

private void kazu(object sender, RoutedEventArgs e)
{

}


えっと、Clickでkazuを読み出してWindowを表示できるのかな?って思ってイロイロしてたんですけど、出来なかったので記述だけです。

acPerformedtionでボタンのNAMEを呼び出して、それが等しければ実行し、次の画面を表示したかったのですけど・・・・。
イロイロ書き換えたりしたんですけど、良くわからなくて・・・。
>cryさん

HTMLでいう<a href="index.html">に当たるものなら、HyperlinkとかNavigationを使ってはどうでしょうか?

多分、WindowではなくPageを使わなければいけないかもしれません。
たけしさん
σ(-ω-*)フム…Pageですね〜試してみますm(._.*)mペコッ

とりあえず、C#で作っております!!(言うの忘れてました。
いちおう、Windowクラスを使った場合に複数のウインドウを切り替える参考になるかもということで、

WPFアプリの起動時にLogonウインドウを挿入する
http://d.hatena.ne.jp/kaorun/20061116/1163662125

StartupUriを外して、App.xamlからコントロールするイメージです。

ページ遷移が多いならばPageクラスでアプリを作ったほうがよいですね。xbapにもしやすいでしょうし。
kaorunさん
何となくですが少しだけ理解はできました。
ただ、未だにできてません。

Page1.xamlの
<Button Click="Base_Click" x:Name="Base" Content="A"/>
を押したら
Page2.xamlの画面が表示する。(画面はメイン画面1つだけ)

App.xamlと〜.csのほうとかイロイロサイトを見ながら試したのですが出来なくて。。。
例になるようなプログラムを教えてもらえませんか?

作ってみたプログラムは↓
「csファイル」
void Base_Click(Object sender, EventArgs e)
{
frm1.Navigate(new System.Uri("Page2.xaml", UriKind.RelativeOrAbsolute));
}

「Page1.Xaml」
<Page x:Class="A.Page1"
////
>
<Grid>
<Frame x:Name="frm1"> </Frame>(一番外枠
<Label x:Name="Top" Content=""></Label>
(frm1にのせてます。
<Frame x:Name="frm2"> </Frame>
(frm1の中に少し小さいサイズで枠をつくってます。
<Button Click="Base_Click" x:Name="Base" Content="A"/>
(frm2にボタンをのせてます。
</Grid>
</Page>


これだと出来なくて。
csのほうの
frm1.Navigate(new System.Uri("Page2・・・・
の ↑ をfrm2にしたらなぜかfrm2にはPage2.xamlのほうがのっかるんですけど・・・。
なんとか今解決できました(・ω・A;)

void pi(object sender, RoutedEventArgs e)
{
NavigationService.GetNavigationService(this).Navigate(new Uri("Page2.xaml", UriKind.Relative));
}
void pu(object sender, RoutedEventArgs e)
{
NavigationService.GetNavigationService(this).GoBack();
}

こんなで出来ましたけど。これでよかったのでしょうか・・・。

とりあえずありがとぅございましたm(_ _"m)ペコリ
自己解決されたようで、反応が遅くてすいません。

ちょっと、サンプルのコードの希望する動きとどう動かないかがいまいちわからないのですが、そんなにおかしなコードには見えないのですけどねぇ...。

Windows SDKサンプルの
\Controls\FrameExample
が近いかなと思うのです。
kaorunさん
このサンプルはフレーム一個ですねσ(-ω-*)
↑のボタンクリックしたら下のフレーム表示だけど
私が作ったのはフレームにフレーム重ねてたので、
それだとなぜかうまく出来なくて・・・。
なんででしょう。。。。
うーん、これ以上はコードの詳細とその動きがわからないとなんともです...。
逆に動作サンプル用に新規プロジェクトを作って単純化して行くと、ふっと原因がわかったりすることもありますよ?
なるほど。時間できたときにしてみます!!
また、わからなくなったら質問するので
お願いします(*゚(工)゚*)(。 。 )ペコッ!!
さっそく壁が・・・・・。
Pageで終了ボタンをつくりたいのですが・・・・。
画面を閉じたいのですが・・・。
どうしたらいいのでしょうか?


Closeは使えないみたいで・・・。
Shutdownというのもいまいち使い方が・・・。
□ 質問「WPFブラウザアプリとWindowsサーバ」 □

WPFブラウザアプリのxbapファイルですが、どなたかWindowsサーバにアップロードされた方はいますか?

ファーストサーバというWindowsサーバのレンタルサーバを使っているのですが、なぜかファイルが開けないので問い合わせたところ「もっと高額なプランなら動作しました」とだけ返事がありました。

同じマイクロソフトの技術なのに・・・。知人に話したら「MSならいつものこと」と納得・・・。
How to: Configure IIS 5.0 and IIS 6.0 to Deploy WPF Applications
http://msdn2.microsoft.com/en-us/library/ms752346.aspx

この辺ですかね?
Enable Content ExpirationとMIMEタイプが必要、と。

サーバーの設定の問題だと思いますけど、占有サーバーならやってあげる(もしくは自分で変更できる)けど、共有サーバーのプランでは変更しないよ、ってことじゃないでしょか? (実際どのような内容で返答されたのかはわかりませんが)

> 同じマイクロソフトの技術なのに・・・。
> 知人に話したら「MSならいつものこと」と納得・・・。

こういう批判的なことを書くのは、HTTPサーバーとかIISの基本を勉強して、状況をきちんと理解してからにしましょうよ。
あー、それとも、ただ単に先方の勘違い(もしくは質問の仕方の問題)で.NET3.0のランタイムはインストールしないよ、って話になっちゃってたりして...。
(xbapのupload自体には必要ないと思いますが、ランタイムをインストールすれば上記の設定は勝手に行われるらしーので)
kaorunさん、ありがとうございます。

共有サーバだからでしょうね。

勉強不足でした。
すみません。
ここには初めて書かせていただきます。
そむにうむ@森山弘樹と申します。

私も最近XBAP開発を始めたのですが、
自分が契約しているレンタルサーバーでテスト公開してみたところ、vistaではOKでしたがxpではXAMLの内容しか見れないという現象に出くわしてしまいました。
XAMLに至ってはvista,xpともにアプリケーションエラーが出て表示できません。

現在のところレンタルサーバーでXBAPの公開を行うことは難しいでしょうか?
自前でサーバーを組むのならば、MIME設定にXAMLおよびXBAP対応の情報を追加することが容易なのでしょうが・・・。

どなたか「ここのサーバーなら問題なくXAMLやXBAPに対応できますよ」という情報を持っている方がいらっしゃいましたら、是非ご教示を宜しくお願いします。
しらちゃんさん:

アドバイス有難うございます。

当方も前提を書くのを忘れておりました。
Windows xpは全てSP2で、.NET Framework3.0のインストール済みのマシンでの閲覧を前提としています。

しかし、それでもレンタルサーバーに上げたものだと、
XBAPはともかくXAMLも正常に表示できていません。
XAMLに至っては私の開発用Vistaマシンでもダメでした。
(もちろんXAMLはローカル環境で正常動作を確認したものを
 アップロードしていますし、
 念のため他のサイトに上がっていて正常に表示できる
 XAMLも自分の使っているレンタルサーバーに上げて
 動作を確認してみました。 結果はだめでしたが。)

ということで、
サーバー側の設定でXAMLやXBAPの動作に不具合が出るパターンがあるのではないかと思い、上記のご質問をさせていただきました。
しらちゃんさん、
早速のお答えありがとうございます。

ご指摘通りサーバー側を調べたところ、やはりMIMEの設定で
XAMLやXBAPに対する設定がありませんでした。

うちのレンタルサーバーでのMIMEの設定について
サーバー管理者に問い合わせたところ

「.htaccessに必要な情報を記述して設置してください。」

という答えが返ってきましたので、
.htaccessに以下の設定を記述してアップロードしました。

AddType application/manifest manifest
AddType application/xaml+xml xaml
AddType application/x-ms-application application
AddType application/x-ms-xbap xbap
AddType application/octet-stream deploy

これで少なくともXAMLファイルが表示されない件は
xp,vista共に解決しました。

大変参考になる情報を有難うございます。
すみません、また質問させていただきます。

現在もXBAPプログラムの開発を続けているのですが、
コントロール系の機能で質問があります。

ツールバーコントロールを画面上で自由に移動させる事は可能でしょうか?

というのも、クライアントからダイアログ表示を要求されたので、暫定的にツールバーコントロールで実装してみたのですが、これを移動させることが基本的に出来ていません。

ToolBarTrayを広く取ってみたらその中を移動できるかとも考えたのですが、うまくいきませんでした。

どなたかコントロールのマウスによる任意移動について、
何か情報をお持ちの方いらっしゃいませんでしょうか?

どうか宜しくお願いいたします。
だいぶ長いこと投稿がないようで、ご覧頂けているかどうか若干不安ですが…あせあせ
おわかりになる方がいらっしゃいましたら教えてください。

WPFのUIElementのEffectプロパティについて質問です。
.net3.5 SP1になり、HSLSのフィルターが適用できるようになり、勉強中です。

下記のコードを参考にして、ブラーやグレイスケールなどのエフェクトを簡単に適用できるようになったのですが、一つのUIElementに複数のエフェクトを適用する方法はありますでしょうか?
http://www.codeplex.com/wpf/Release/ProjectReleases.aspx?ReleaseId=14962

たとえは、グレースケールをかけつつブラーを設定するとか。
その場合、順番も重要なのですが、とりあえずエフェクトを複数設定する方法が知りたいです。
よろしくお願いします。


実現できたら、MACのPixelmatorみたいなソフトのベースが簡単に作れそうな気がします。
http://www.act2.com/products/pixelmator/

最初に見たときは本当に感動しました。
> NIM様
Effectプロパティではありませんが、
複数の効果を適用する方法としてBitmapEffectGroupクラスがあります。

BitmapEffectGroupのChildrenに適用したい効果を追加すると、
1つの表示オブジェクトに複数の効果を適用することが出来ます。

但し、(私が使用した限りでは)BitmapEffectGroupクラスは
UIElementクラスのBitmapEffectプロパティに設定していました。

MSDN
http://msdn.microsoft.com/ja-jp/library/system.windows.media.effects.bitmapeffectgroup.aspx

# レスしたものの、お力になれず申し訳ありません(。。
初めまして和といいます。
いままで何度かwpfに挑戦しようとしてその難易度で挫折してきました。
このようなコミュニティも増え情報ができてきたので再挑戦したいと思っています。
MSDNのサンプルにsdkxamlbrowserというサンプルがあります。
ListBox,ListViewなどは普通のWindowsアプリのItemsプロパティに直接値を入れることはできず。
<XmlDataProvider x:Key="SamplesList" XPath="/Samples" Source="samples.xml" />
というように別途xmlファイルに書きパスを指定してしなければならないのでしょうか?
出来ればListBoxに表示する値を直接xamlファイルに書きたいのですがその方法はあるでしょうか?
□ 質問「IE9でWPFブラウザアプリが動かない」 □

IE9でxbapファイルを開くとソースが表示されるだけでブラウザアプリが動作しません。

IE8では動作します。

原因をご存じの方は教えてください。

ログインすると、残り9件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

WPF 更新情報

WPFのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。