最近よく聞かれるので、そのメモです
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();」で作成することができます
コメントを残す
コメントを投稿するにはログインしてください。