astel-labs.net

C#などのプログラミングTipsや雑記をつらつらと書くかもしれないブログです。

  • Home
RSS

WPF – トグル表示可能なボタンの作成

Posted on 2010年11月29日 by Nymphaea
No CommentsLeave a comment

最近よく聞かれるので、そのメモです

 

WindowsForms でフォームを作成した際には、ツールバーメニューのボタンをトグル表示可能(ON と OFF を切り替えられるよう)なボタンとして作成する際には、ツールバーボタンのプロパティを設定することで作成することができましたが、WPF ではボタンをツールバーに配置しても、トグル表示のプロパティが見つかりません

実は、WPF ではボタンクラスにトグル表示のプロパティは用意されていません!

 

トグル表示を行うには、xaml のボタンタグを直接編集するかコードで直接コントロールを挿入する、VisualStudio の「ツールボックス」に専用のコントロールを配置するの何れかになります

 

まず最初は、VisualStudio の「ツールボックス」にコントロールを追加する方法です

 

VisualStudio のツールボックスウィンドウを開き、適当なアコーディオンメニューを右クリックして「アイテムの選択」を選択します

 

「ツールボックスアイテムの選択」ダイアログが表示されますので、「WPF コンポーネント」タブから「ToggleButton」を選択しチェックボックスをチェックします
「OK」ボタンを押してダイアログを閉じます

 

「ツールボックス」に「ToggleButton」が追加されていることを確認します

 

あとは、デザイナに「ToggleButton」をドロップし、通常のボタンを同じようにプロパティを設定するだけです

 

ビルドして実行すると、ボタンをクリックするとトグル表示することが確認できます

 

同様に、ツールバーメニューに「ToggleButton」を配置すれば、トグル表示するボタンになります

ToggleButton の状態は、IsChecked プロパティから取得することができます

 

 

続いての方法は、上記の方法でトグルボタンを配置した際に気付いたと思いますが、xaml の「Button」タグを単純に「ToggleButton」に書き換えれば、コントロールを登録するまでもなくトグルボタンを利用できます

 

<Grid>
    <ToolbarPanel DockPanel.dock="Top">
       <Toolbar>
            <ToggleButton content="ぼたん" name="toggleButton2" />
        </Toolbar>
    </ToolbarPanel>
    <ToggleButton content="ぼたん" name="toggleButton1" height="23" width="90" horizontalalignment="Left" margin="79,43,0,0" verticalalignment="Top" />
</Grid>

 

 

最後のコードからトグルボタンを追加する方法も、xaml 同様にボタンインスタンスを作成する際に「var button = new ToggleButton();」で作成することができます

Categories: C#, WPF, プログラミング

 

WPF – 文字の縁取り方法
複数カメラを利用したリアルタイム画像処理 Part3

コメントを残す

コメントを投稿するにはログインしてください。

  • 2010年11月
    日 月 火 水 木 金 土
     123456
    78910111213
    14151617181920
    21222324252627
    282930  
    « 10月   1月 »
  • 最近の投稿

    • raspberry pi に nginx をセットアップする
    • VSCode を日本語化する
    • raspberry pi に VSCode をインストールする
    • WindowsのプロダクトIDを取得する
    • SQL Server – money型とdecimal型を併用した金額計算
  • アーカイブ

    • 2020年3月
    • 2016年12月
    • 2014年6月
    • 2014年5月
    • 2013年7月
    • 2012年11月
    • 2012年7月
    • 2012年5月
    • 2012年4月
    • 2011年4月
    • 2011年1月
    • 2010年11月
    • 2010年10月
    • 2010年9月
    • 2010年8月
    • 2010年7月
    • 2010年6月
    • 2010年5月
    • 2010年4月
  • カテゴリー

    • C#
    • jQuery
    • OpenCV
    • raspberry pi
    • SharePoint
    • Silverlight
    • SQL Server
    • WCF
    • WPF
    • プログラミング
    • 未分類
    • 雑記
© astel-labs.net. Proudly Powered by WordPress | Nest Theme by YChong

このブログ内で公開されているソースコードおよびサンプルプログラムに関わるライセンスはすべて修正BSDライセンス(New BSD License)として公開しています。
但し、サンプルプログラムに含まれる外部アセンブリが同様のライセンスとは限りませんので、利用する前に必ずすべてのライセンスの確認を行ってください。