コンボボックスにボタンを追加したいのですが、これにはItemTemplateが含まれています。まず、私が試したことは、このでした:コンボボックスのWPF追加ボタン
<ComboBox Name="oilWells_comboBox"
Style="{StaticResource MMComboBox}"
MaxWidth="100"
ItemsSource="{Binding DataContext.OilWellCollection, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=local:MainWindow}}"
Margin="0">
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<CheckBox IsChecked="{Binding Path=IsDisplay}" Checked="FilterDataGrid" Unchecked="FilterDataGrid">
<CheckBox.Content>
<TextBlock MinWidth="100" Text="{Binding Path=Name}" HorizontalAlignment="Center" TextWrapping="Wrap" TextTrimming="CharacterEllipsis"/>
</CheckBox.Content>
</CheckBox>
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
<Button Content="Clear" Height="20" HorizontalAlignment="Stretch"></Button>
</ComboBox>
しかし、私は私がItemTemplateにしているコントロールに項目を追加カント何言っ例外を、持っています。 2番目はこれでした:
<ComboBox Name="oilWells_comboBox"
Style="{StaticResource MMComboBox}"
MaxWidth="100"
ItemsSource="{Binding DataContext.OilWellCollection, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=local:MainWindow}}"
Margin="0">
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<CheckBox IsChecked="{Binding Path=IsDisplay}" Checked="FilterDataGrid" Unchecked="FilterDataGrid">
<CheckBox.Content>
<TextBlock MinWidth="100" Text="{Binding Path=Name}" HorizontalAlignment="Center" TextWrapping="Wrap" TextTrimming="CharacterEllipsis"/>
<Button Content="Clear" Height="20" HorizontalAlignment="Stretch"></Button>
</CheckBox.Content>
</CheckBox>
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
しかし、この場合、各チェックボックスの後にボタンが追加されます。これを一度だけ行う方法はありますか?
編集 'コンボボックス自体のTemplate'プロパティを。 VSでCBを右クリックし、 'Edit Template' - ' Edit copy'を選択して、そのテンプレートにButtonを追加します。 – ASh
あなたの質問はクリアされていません - ボタンをComboBoxのオプションの1つにしますか? ボタンを含む独自のComboBoxを作成しますか? ComboBoxの各オプションにボタンが含まれていますか? – MichaelThePotato
最初のコンボボックスアイテムとしてボタンを追加したいと思います。次のアイテムはすべてItemsTemplateのアイテムでなければなりません –