Introducción:
Este es el código XAML del control de usuario WPF usado en
la
utilidad gsBuscarTexto.
<UserControl x:Class="OpcionesBuscar"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="600" Height="230">
<UserControl.Resources>
<!--
Estilos sin nombre para aplicar a todos los controles
-->
<!-- Este estilo se aplicará a todos los CheckBox del control de usuario -->
<Style TargetType="{x:Type CheckBox}">
<Setter Property="Margin" Value="8,4,0,0"/>
</Style>
<!-- Este estilo se aplicará a todos los ComboBox del control de usuario -->
<Style TargetType="{x:Type ComboBox}">
<Setter Property="Height" Value="23"/>
</Style>
<!-- Este estilo se aplicará a todos los Button del control de usuario -->
<Style TargetType="{x:Type Button}">
<Setter Property="Height" Value="23"/>
<Setter Property="Width" Value="75"/>
</Style>
</UserControl.Resources>
<!--
Este StackPanel hará que al contraerse o expandirse
los Expanders se colapse o expanda el contenido
-->
<StackPanel Name="StackMain" VerticalAlignment="Top">
<!--
Un Grid para que cada Expander esté en una fila y se ajuste el alto automáticamente
-->
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="80*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!-- El Expander para las opciones de buscar y reemplazar texto -->
<Expander Name="expanderBuscar" Grid.Row="0"
Header="Texto a buscar" IsExpanded="True">
<!--
El Grid con el contenido del Expander
le doy nombre porque después lo uso para saber
el alto que tiene lo mostrado en el control de usuario
-->
<Grid Name="gridTexto">
<!-- Background="#FFF4F4F4" -->
<Grid.ColumnDefinitions>
<ColumnDefinition Width="108" />
<ColumnDefinition Width="100*" />
<ColumnDefinition Width="4" />
<ColumnDefinition Width="80" />
<ColumnDefinition Width="4" />
<ColumnDefinition Width="100*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="25" />
<RowDefinition Height="2" />
<RowDefinition Height="25" />
<RowDefinition Height="4" />
</Grid.RowDefinitions>
<CheckBox Name="chkBuscar" Grid.Column="0" Grid.Row="0"
Content="Buscar:" IsChecked="True" Margin="8,8,0,0" />
<ComboBox Name="cboBuscar1" Grid.Column="1" Grid.Row="0"
Text="Buscar1" IsEditable="True" />
<ComboBox Name="cboTipoBuca" Grid.Column="3" Grid.Row="0"
SelectedIndex="0" IsDropDownOpen="False" IsReadOnly="True">
<ListBoxItem Name="opTipoBusca0" Content="Solo uno" IsSelected="True"/>
<ListBoxItem Name="opTipoBusca1" Content="No (Not)" />
<ListBoxItem Name="opTipoBusca2" Content="Y (And)"/>
<ListBoxItem Name="opTipoBusca3" Content="O (Or)" />
</ComboBox>
<ComboBox Name="cboBuscar2" Grid.Column="5" Grid.Row="0"
Text="Buscar2" IsEditable="True" />
<CheckBox Name="chkPoner" Grid.Column="0" Grid.Row="2"
Content="Cambiar por:" IsChecked="False" />
<ComboBox Name="cboPoner1" Grid.Column="1" Grid.Row="2"
Text="Poner1" IsEditable="True" />
<ComboBox Name="cboPoner2" Grid.Column="5" Grid.Row="2"
Text="Poner2" IsEditable="True" />
</Grid>
</Expander>
<!-- El Expander para las opciones de los ficheros y directorios -->
<Expander Name="expanderFichero" Grid.Row="1"
Header="Fichero a buscar" IsExpanded="True" AllowDrop="True">
<!--
El Grid con el contenido del Expander
le doy nombre porque después lo uso para saber
el alto que tiene lo mostrado en el control de usuario
-->
<Grid Name="gridFichero">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="108" />
<ColumnDefinition Width="100*" />
<ColumnDefinition Width="4" />
<ColumnDefinition Width="100*" />
<ColumnDefinition Width="90" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="25" />
<RowDefinition Height="2" />
<RowDefinition Height="25" />
<RowDefinition Height="2" />
<RowDefinition Height="23" />
<RowDefinition Height="2" />
<RowDefinition Height="23" />
<RowDefinition Height="2" />
</Grid.RowDefinitions>
<Label Name="labelFiltro" Grid.Row="0"
Content="Filtro búsqueda:" Margin="8,0,0,0"/>
<ComboBox Name="cboFiltro" Grid.Column="1" Grid.ColumnSpan="4"
Text="*.*" IsEditable="True" />
<Label Name="labelDir" Grid.Row="2"
Content="Directorio:" Margin="8,0,0,0"/>
<ComboBox Name="cboDir" Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="3"
Text="C:\; E:\" IsEditable="True" />
<Button Name="btnExaminarDir" Grid.Row="2" Grid.Column="4"
Content="Examinar..." />
<CheckBox Name="chkConSubDir" Grid.Row="4" Grid.Column="1"
Content="Incluir subdirectorios" IsChecked="True" />
<CheckBox Name="chkIgnorarErrores" Grid.Row="4" Grid.Column="3" Grid.ColumnSpan="2"
Content="Ignorar los avisos de error" IsChecked="True" />
<CheckBox Name="chkFecha" Grid.Row="6" Grid.Column="3"
Content="Los modificados en la fecha" />
<TextBox Name="txtFecha" Grid.Row="6" Grid.Column="4"
Text="07/12/2007" Width="75" AllowDrop="False"
VerticalContentAlignment="Center" />
</Grid>
</Expander>
</Grid>
</StackPanel>
</UserControl>