まず、Iconプロパティには画像しか含めることができないと考えられます。しかし、実際には何かを含むことができます!私はプログラムでImageプロパティをイメージへのパスを含む文字列に直接設定しようとしたとき、これを偶然発見しました。その結果、画像は表示されませんでしたが、パスの実際のテキストが表示されました!それから、まずImage要素を作成し、それをIconプロパティに設定しなければならないことを発見しました。これにより、Imageプロパティはメニューの左側のアイコン領域に配置されたコンテンツコンテナであると思うようになりました。私はボタンをそこに置こうとしました、そして、それは働いた!
これは、メニュー項目のアイコン領域内のテキスト「I」とのボタンを示しています。ボタンをクリックすると、Button_Clickイベントがトリガーされます(ボタンをクリックすると、LanguageMenu_Clickはトリガーされません)。
<MenuItem Name="LanguageMenu" Header="_Language" Click="LanguageMenu_Click">
<MenuItem.Icon>
<Button Click="Button_Click">i</Button>
</MenuItem.Icon>
</MenuItem>
これは、アイコン用の画像を作成する必要がありますが、シンプルな「アイコン」を表示する代わりに、シンボルフォントでテキストを使用しないために代替につながります。次の例では、floppydiskシンボルを含むWingdingsフォントを使用しています。フォント内のこのシンボルは、XAMLで特別な意味を持つ文字の<
にマッピングされるため、代わりに符号化されたバージョン<
を使用する必要があります。これは夢のように機能します!以下は、メニュー項目のアイコンとしてフロッピーディスクのシンボルを示しています
<MenuItem Name="mnuFileSave" Header="Save" Command="ApplicationCommands.Save">
<MenuItem.Icon>
<Label VerticalAlignment="Center" HorizontalAlignment="Center"
FontFamily="Wingdings"><</Label>
</MenuItem.Icon>
</MenuItem>
出典
2009-07-10 09:26:27
awe
これは私が必要なものだけのように見える、私は、任意のカスタムコントロールを作成することなく、ピンの機能を追加するために、スタック内のトグルボタンを挿入することができますかキーボードの使用を中断する。ありがとう:) – Nidonocu