<Window.Resources>
<Style TargetType="ListBox">
<Setter Property="FocusVisualStyle" Value="{x:Null}"></Setter>
</Style>
<Style TargetType="ListBoxItem">
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="LightGray"></SolidColorBrush>
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="LightGray"></SolidColorBrush>
</Style.Resources>
</Style>
<Style x:Key="ListItemStyle" TargetType="ListBoxItem">
<Setter Property="FocusVisualStyle" Value="{x:Null}"></Setter>
</Style>
</Window.Resources>
当设置了ItemTemplate后,Item的虚线边框还在,
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" FocusVisualStyle="{x:Null}" >
<Rectangle Width="{Binding Left}" ></Rectangle>
<Image Name="image" Source="{Binding Pic}" Width="16" Height="16" Tag="1" HorizontalAlignment="Left" />
<Rectangle Width="4" ></Rectangle>
<TextBlock Text="{Binding Name}" Width="auto" Height="auto" VerticalAlignment="Center"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
需要后台代码再次设置才可以
Style style = FindResource("ListItemStyle") as Style;
lb_List.ItemContainerStyle = style;
附在后台代码访问模板里面的控件:
TextBox tb = (TextBox)TbxInput.Template.FindName("Uc_TbxContent", TbxInput);
tb.TextChanged += tb_TextChanged;
tb.KeyUp += tb_KeyUp;
tb.Visibility = System.Windows.Visibility.Visible;
TbxInput为包含Uc_TbxContent控件的父控件