¿Es posible cambiar o modificar una parte específica de una plantilla de control sin tener que volver a crear toda la plantilla de control del control en xaml?¿Puede anular solo parte de una plantilla de control en silverlight
Por ejemplo, estaba tratando de deshacerme del borde de un cuadro de texto, por lo que podía juntar un cuadro de búsqueda básico con esquinas redondeadas (ejemplo xaml a continuación). Establecer el borde en 0 funciona bien, hasta que el mouse sobre el cuadro de texto y un pseudo borde que agregaron al control parpadee. Si miro la plantilla de control para el cuadro de texto, incluso puedo ver que el estado visual es nombrado, pero no puedo pensar en cómo deshabilitarlo.
Sin anular la plantilla de control del TextBox, ¿cómo podría detener el Visual State Manager activando el mouse sobre el efecto en el TextBox?
<Border Background="White" CornerRadius="10" VerticalAlignment="Center" HorizontalAlignment="Center" BorderThickness="3" BorderBrush="#88000000">
<Grid VerticalAlignment="Center" HorizontalAlignment="Center" Width="200" Margin="5,0,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="16" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Path Height="13" Width="14" Stretch="Fill" Stroke="#FF000000" StrokeThickness="2" Data="M9.5,5 C9.5,7.4852815 7.4852815,9.5 5,9.5 C2.5147185,9.5 0.5,7.4852815 0.5,5 C0.5,2.5147185 2.5147185,0.5 5,0.5 C7.4852815,0.5 9.5,2.5147185 9.5,5 z M8.5,8.4999971 L13.5,12.499997" />
<TextBox GotFocus="TextBox_GotFocus" Background="Transparent" Grid.Column="1" BorderThickness="0" Text="I am searchtext" Margin="5,0,5,0" HorizontalAlignment="Stretch" />
</Grid>
</Border>
eso es precisamente lo que estoy tratando de evitar tener que hacer :) Se siente como un corte 'n pegar desastre esperando a suceder! – mattmanser
Lamentablemente, creo que esta es la única forma en que aplica la plantilla como un todo y no solo piezas individuales. Aunque de ninguna manera soy un experto, nunca he encontrado la manera de hacerlo. – Brandon