我已經創建了一個從WPF文本框繼承的自定義控件。在不丟失經典行爲的情況下更改文本框模板
我的控制模板只是簡單地在文本框中添加一個小按鈕,以便更快地刪除它的文本。
但是,我注意到,當我的文本框獲得焦點時,其邊框不會像經典文本框那樣更改(藍色)。
我會保存原始文本框的所有方面,就像控件獲得焦點時的邊框一樣。
我錯過了什麼嗎?
@@編輯
<TextBox x:Class="XTextBox.WKTextBox"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
Height="23" Width="200"
>
<TextBox.Resources>
<ControlTemplate x:Key="IconButton" TargetType="{x:Type ToggleButton}">
<Border>
<ContentPresenter />
</Border>
</ControlTemplate>
</TextBox.Resources>
<TextBox.Style>
<Style TargetType="TextBox">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TextBox}">
<Grid>
<Border BorderThickness="1" BorderBrush="DarkGray">
<ScrollViewer x:Name="PART_ContentHost" />
</Border>
<ToggleButton Template="{StaticResource IconButton}"
MaxHeight="21"
Margin="-1,0,0,0"
Name="imgButton"
Focusable="False"
IsChecked="False">
<Image Name="imgClearText" Source="Images\x.png" Stretch="Uniform" Opacity="0.5" Visibility="Visible" HorizontalAlignment="Right" >
</Image>
</ToggleButton>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</TextBox.Style>
請添加一些細節並顯示您的修改代碼,以便更容易理解發生了什麼問題。 –
你已經添加了一個邊框被設置爲DarkGray的網格,不會隱藏包含的編輯框邊框嗎? –
編號設置爲DarkGray的邊界似乎不成問題。如果我刪除邊框,我無法看到我的文本框。 – Bit79