2

この回答で 2 番目の (挿入マクロ) ソリューションを実装したいと思います。

(折りたたまれたときに) 特定のテキストを常に表示するコンボ ボックスを持つことは可能ですか? それは ItemSource にバインドされており、ユーザーはドロップダウンを展開して項目を選択できますが、折りたたまれたときにテキストに「マクロの挿入」などを常に表示したいです。カスタム テキストを選択範囲として表示したくない

4

1 に答える 1

0

確かにそれは可能です。まず、独自のToggleButtonStyleを定義する必要があります。ControlTemplateは、コンテンツがバインドされているcontentpresenterを保持します。

<ContentPresenter Content="{TemplateBinding Content}"
OverridesDefaultStyle="True"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>

必要に応じて、スタイルを追加できます。

次に、カスタムComboBoxStyleを作成する必要があります。これを作成する最も簡単な方法は、default-templateを変更することです(Blendで、ComboBox->テンプレートの編集->コピーの編集を右クリックします)。

このテンプレート内のContentPresenterには、次のようなバインディングが必要です。

Content="{TemplateBinding SelectionBoxItem}"

この行を削除するだけで、アイテムが選択されている場合、ToggleButtonは新しいコンテンツを取得しません。

これで、次のような固定コンテンツを使用してComboBoxを作成できるようになります。

<ComboBox Style="{StaticResource ComboBoxStyle}" Text="Title">

ControlTemplateExampleshttp://msdn.microsoft.com/en-us/library/ms752094(v=vs.85).aspxもいくつかあります

お役に立てれば。

于 2013-01-04T11:02:49.820 に答える