I'm trying to create a combo box in visual studio. It's pretty much custom and I'm having huge problem with displaying items.
By default item displays just binded name When mouse is over, two buttons appear, one is editing item, other deleting it - that part works fine The problem is when item gets selected. I want to hide those buttons in ComboBox content presenter but want to keep them in popup.
Easiest solution would be to hide item in popup when its selected, but how? Other ideas?
<ComboBox.ItemTemplate>
<DataTemplate DataType="{x:Type controls:TEMP}">
<Grid Height="42" Width="{StaticResource ToggleButtonWidth}">
<!--Selected Item Display-->
<Grid Name="DefaultView">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="25"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="25"/>
</Grid.ColumnDefinitions>
<TextBox x:Name ="NameDisplay"
Text="{Binding Name, Mode=TwoWay}"
Grid.Column="1"
HorizontalAlignment="Left"
VerticalContentAlignment="Center"
IsEnabled="{Binding Path=IsChecked, ElementName=EditButton}">
<TextBox.Style>
<Style TargetType="{x:Type TextBox}">
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TextBox}">
<ScrollViewer Margin="0"
x:Name="PART_ContentHost" />
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding Selected}" Value="False">
<Setter Property="HorizontalContentAlignment" Value="Left"/>
</DataTrigger>
<Trigger Property="IsEnabled" Value="True">
<Setter Property="FocusManager.FocusedElement" Value="{Binding ElementName=NameDisplay}"/>
</Trigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
<Button x:Name="DeleteButton"
Grid.Column="0"
Width="20" Height="20"
Visibility="{Binding MouseOver, Converter={StaticResource BoolToVis}}">
<Button.Style>
<Style TargetType="{x:Type Button}">
<EventSetter Event="Click" Handler="DeleteItem"/>
<Setter Property="Margin" Value="0,0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<ContentPresenter/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Button.Style>
<Image Source="Images/button_cancel.png"
Width="20" Height="20" />
</Button>
<ToggleButton x:Name="EditButton"
Grid.Column="2"
Width="20" Height="20"
Visibility="{Binding MouseOver, Converter={StaticResource BoolToVis}}"
Content="e">
</ToggleButton>
</Grid>
</Grid>
</DataTemplate>
</ComboBox.ItemTemplate>