2010-11-01から1ヶ月間の記事一覧

Q034. ActiveReports は WPF で使えますか?

A. ActiveReports for .NET の最新版 7.0J より WPF に対応しました。詳しくは以下の記事を参考にしてください。 関連記事 : ActiveReports for .NET 7.0J 新機能 WPFビューワ 関連記事 : ActiveReports for .NET 7.0J を WPF で使うチュートリアル WPF F…

Q033.WPF の DatePicker では時刻を表示できないんですが・・・・(´・ω・`)

A. 残念ながら DatePicker という名前のとおり、日付しか表示・設定できないようです。どうしても時刻を管理したいなら、相互運用で WinForm の DateTimePicker を使うか(これは重大な弱点を発見!詳細はこちら)、もしくはサードパーティの製品を使うしか…

Q032.WPF に DateTimePicker が見当たらないのですが・・・・(´・ω・`)

A. VS 2008 なら WPF Toolkit で DatePicker コントロールが提供されてますので、これをダウンロードしてインストールしてください。VS 2010 なら DatePicker が標準で提供されています。 関連記事 : WPF Toolkit WPF FAQ の目次に戻る

Q031. ComboBox の編集時に背景色を変えたいのですが方法が判りません。

A. IsEditable プロパティを True にした ComboBox は構造上の問題により IsFocused が True の時に色を変えることができません。IsKeyboardFocusWithin プロパティを使用してトリガーで色を変更するか、ControlTemplate を変更する必要があります。詳しく…

Q030. ComboBox のDropDownStyle はどこで設定するんですか?

A. IsEnabled = True で DropDown、IsEnabled = False で DropDownList 相当の設定になります。 WPF FAQ の目次に戻る

Q029. ComboBox に Datasource は指定できないのですか?

A. いったん IListSource にキャストして ComboBox.ItemsSource プロパティに設定するか、もしくは DataTable.DefaultView で設定できます。 #2015/03/17 修正

Q007. 依存関係プロパティの Grid.Row を動的に設定したいんですが・・・

A. Grid.SetRow メソッドを使ってください。仮に TextBox を Grid の 2 列 3 行目に設定したいなら、以下のコードになります。C# System.Windows.Controls.Grid.SetColumn(this.textBox1, 2); System.Windows.Controls.Grid.SetRow(this.textBox1, 3); VB.N…

Q006. Canvas に配置したコントロールの Anchor を右下で設定したいんですが・・・

A.以下のように Canvas.Right、Canvas.Bottom からの距離を設定します。なお Canvas.Top・Canvas.Left・Canvas.Right・Canvas.Bottom の全てを設定すると Top・Left が優先されるようです。

Q005. Grid や StackPanel でスクロールバーを表示させたいのですが。

A. ScrollViewer を使います。例えばこんな感じ。 <Grid> <ScrollViewer HorizontalScrollBarVisibility="Auto"> <StackPanel> ・・・・・・・・・ </StackPanel> </ScrollViewer> </Grid> WPF FAQ の目次に戻る

Q028.WPF の TextBox.TextChanged イベントって IME の変換候補を選択しただけでも発生しますが、これって仕様でしょうか?

A. WPF の TextBox.TextChanged イベントは WindosForms とは全く挙動が違います。WPF の TextBox は Text Service Framework(TSF) に対応しているため、変換候補を選択しただけでも TextChanged イベントが発生するのは仕様みたいですね。でもこれを知らな…

Q027.TextBox に MultiLine プロパティがないのですが、複数行にするにはどうすりゃいいの?

A. AcceptsReturn プロパティを True にします。 WPF FAQ の目次に戻る

Q026. TextBox を数値入力のみにしたいんです。

A. イベントで対応する方法もありますが、添付ビヘイビアを使ってみるといいかも。 WPF FAQ の目次に戻る

Q025.TextBox のText が上寄せになってますが、縦中央に配置したいんです。

A. VerticalContentAlignment プロパティを Center に設定します。 「いつものパン」があなたを殺す: 脳を一生、老化させない食事 (単行本)作者: デイビッドパールマター,クリスティンロバーグ,David Perlmutter,Kristin Loberg,白澤卓二出版社/メーカー: …

Q024. TextBox に PasswordChar プロパティが見当たらないんだけど・・・(´・ω・`)

A. PasswordBox を使ってください。 WPF FAQ の目次に戻る

Q004.標準のコンテナが Grid になってますが、これって何?

A. WPF の標準のコンテナです。TableLayoutPanel の WPF 版と思うと理解しやすいかも知れません。 WPF FAQ の目次に戻る

Q023. RadioButton から Appearance プロパティがなくなってます!また ToggleButton ではグルーピングできません!! ><

A. RadioButton は ToggleButton を継承しているため、スタイルに互換性があります。ToggleButton のスタイルで表示するよう、RadioButton のスタイルを設定します。 <RadioButton Style="{StaticResource {x:Type ToggleButton}}"> WPF FAQ の目次に戻る</radiobutton>

Q022. ToggleButton のチェック時に、Background を変えても表示に反映されません。Background のチェック時に Background を変える方法はありますか。

A. 以下のように DataTemplate を用意し、ToggleButton.IsChecked プロパティが True になった場合に ContentTemplate に設定するよう Trigger を定義します。 <Window.Resources> <DataTemplate x:Key="BlueBackground"> <Grid Background="Blue" > </grid></datatemplate></window.resources>

Q021.CheckBox を読み取り専用にする方法はありますか?

A. IsHitTestVisible プロパティと IsTabStop プロパティを False に設定してください。 <CheckBox IsHitTestVisible="False" IsTabStop="False" /> WPF FAQ の目次に戻る</checkbox>

Q020. CheckBox から Appearance プロパティがなくなってんだけどー!><

A. ToggleButton を使ってください。 WPF FAQ の目次に戻る

Q019.CheckBox の CheckedChanged イベントが見当たらないです。

A. Checked イベントと Unchecked イベントを使います。Checked はチェック時、Unchecked はチェックが外れた時しかイベント起きないので注意しましょう。

Q003.WPF には Panel はないようですが、代わりに何を使えばいいのでしょう?

A. Grid が基本みたいです。Top・Left の位置を固定して配置するなら Canvas を使うといいかも。 WPF FAQ の目次に戻る

Q002.Window を Normal で起動してから最大化しましたが、Width と Height の値が Normal の時と変わっていません!これって一体・・・

A. Window.Width や Window.Height プロパティはデザイン用のプロパティです。実行中の描画サイズを取得するなら、 RenderSize プロパティを参照してください。 C# private void Window_StateChanged(object sender, System.EventArgs e) { label1.Content …

Q001.Window.DialogResult プロパティって Form.DialogResult と違うのですか?

A. 全く別の動きをします。まず XAML では設定不可。ShowDialog() で起動した Window のロード完了以降にしか設定できません。しかもこのプロパティを設定した途端、Window はクローズするという楽しい仕様ですw 詳しくは Window.DialogResult のドキュメ…

Q018. Button.DialogResult プロパティがなくなってるしー!!

A. Button.IsCancel、Button.IsDefault プロパティを使ってください。 WPF FAQ の目次に戻る

Q017. 丸い Button を作るには?

A. ControlTemplate を使ってカスタマイズします。ControlTemplate については、以下の記事を参考にしてください。 関連記事 : WPF/Silverlight UIフレームワーク入門 第4回 “見た目”を決めるコントロール・テンプレート 関連記事 : 未確認飛行 C:テン…

Q016.ComboBox で InputMethod.IsInputMethodEnabled="False" としても、IME が無効になりません。

A. MSDN フォーラムで質問し、Connect にもフィードバックしましたが、これは ComboBox の仕様みたいです。回避策は、以下のように若干手の込んだ仕掛けが必要です。 まず添付ビヘイビアと拡張メソッドを提供するヘルパクラスを用意します。 using System.W…

Q015. IME を無効にしたいんですが、判りません!><

A. コントロールの XAML に「InputMethod.IsInputMethodEnabled="False"」 を追加してください。 WPF FAQ の目次に戻る

Q014. コントロールの ImeMode プロパティはどこいった?

A. ImeMode プロパティはありません。InputMethod で IME を設定します。以下 Code Recipe の参考記事をどうぞ。 関連記事 : WPF で IME (かな漢字変換) を切り替えるには WPF FAQ の目次に戻る

Q013. Border の BorderBrush を Red で設定したのですが、Border が表示されません。(;_;)

A. BorderThickness プロパティで Border の太さを任意の値に設定してください。 WPF FAQ の目次に戻る

Q012. 背景のイメージはどこで指定するの?

A. Visual Studio なら「プロパティ」→「ブラシ」→「Background」のイメージブラシでイメージを設定します。Expression Blend 4 なら「プロパティ」→「ブラシ」→「Background」で「タイル ブラシ」タグを選んで「ImageSource」で設定します。 WPF FAQ の目…