es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Activar la opción de colapsar cuadro de texto al establecer el combobox en el índice 0.

Estoy creando mi propio control de usuario WPF para permitir al usuario seleccionar datos. Tengo un ComboBox que tiene un estilo que se encuentra en un diccionario de recursos separado. Quiero ocultar el TextBox si el SelectedIndex del ComboBox está establecido en 0.

Aquí está mi código:

<usercontrol x:class="Baileys.CustomChartControl" 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" xmlns:local="clr-namespace:Baileys" mc:ignorable="d" d:designheight="81.855" loaded="UserControl_Loaded" mousedoubleclick="UserControl_DoubleClick" mousedown="UserControl_MouseDown" width="759.405">
    <grid x:name="grid" background="Transparent" margin="0,0,-368,-23">     
        <combobox horizontalalignment="Left" height="100" margin="173,99,0,-123" verticalalignment="Top" style="{DynamicResource CBstyle}" width="120"></combobox>
        <textblock x:name="MyCoursesTxt" text="{Binding MyCourses}"></textblock>
    </grid>
</usercontrol>

Utilizo Microsoft Blend para hacer mis desencadenantes, sin embargo, no me está dando la opción de configurar un desencadenador basado en propiedad en mi nuevo control de usuario.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para crear un desencadenador basado en una propiedad para su nuevo control de usuario, puede agregar un desencadenador al estilo del ComboBox. Dentro del desencadenador, puede establecer la propiedad de Visibilidad de TextBlock en “Colapsado” cuando el índice seleccionado del ComboBox sea igual a 0.

    Aquí tienes un ejemplo:

    1. Cree un nuevo estilo para el ComboBox en su diccionario de recursos separado:
    <style x:key="CustomComboBoxStyle" targettype="{x:Type ComboBox}">
       // Añade tus propiedades de estilo personalizadas aquí
    </style>
    
    1. Añada un desencadenador basado en una propiedad al estilo que colapsará el TextBlock cuando se establezca el índice seleccionado a 0:
    <style x:key="CustomComboBoxStyle" targettype="{x:Type ComboBox}">
       <Style.Triggers>
           <Trigger Property="SelectedIndex" Value="0">
               <Setter TargetName="MyCoursesTxt" Property="Visibility" Value="Collapsed"/>
           </Trigger>
       </Style.Triggers>
    </style>
    
    1. Aplique el estilo a su ComboBox en su control de usuario:
    <combobox horizontalalignment="Left" height="100" margin="173,99,0,-123" verticalalignment="Top" style="{StaticResource CustomComboBoxStyle}" width="120"></combobox>
    

    Nota: Asegúrese de darle un nombre a su TextBlock para poder referenciarlo en el Setter del desencadenador. En este ejemplo, el nombre es “MyCoursesTxt”.

Comments are closed.