Pregunta

Yo soy muy nuevo en WPF y estoy frente a un problema donde necesito ayuda:

Mi entorno es .NET 4, VS2010, ganar 7

Quiero definir un labrado botón de alternancia que voy a utilizar a partir de un control de usuario. Cuando declaro el control ToggleButton en el control de usuario que desee dar a los 2 Contenido posible de acuerdo con el estado del botón.

Mi pregunta:. No sé cómo declarar mi botón con los contenidos 2 (uno cuando IsChecked = true, una cuando IsChecked = false), he incluido un cierto código que he escrito que no compile

Gracias de antemano

...

¿Fue útil?

Solución

debe ser capaz de usar algo como:

      <ToggleButton>
        <ToggleButton.Style>
            <Style TargetType="{x:Type ToggleButton}">
                <Setter Property="Content">
                    <Setter.Value>
                        <Grid>
                            <TextBlock>Click Me</TextBlock>
                        </Grid>
                    </Setter.Value>
                </Setter>
                <Style.Triggers>
                    <Trigger Property="IsChecked" Value="True">
                        <Setter Property="Content">
                            <Setter.Value>
                                <Grid>
                                    <TextBlock>Click Me Again</TextBlock>
                                </Grid>
                            </Setter.Value>
                        </Setter>
                    </Trigger>
                </Style.Triggers>
            </Style>
        </ToggleButton.Style>
    </ToggleButton>

Otros consejos

En función de lo que sus contenidos son 2, se puede hacer algo como:

<ToggleButton IsChecked="True">
    <ToggleButton.Style>
        <Style TargetType="{x:Type ToggleButton}">
            <Style.Triggers>
                <Trigger Property="IsChecked" Value="True">
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate>
                                <Button></Button>
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                </Trigger>
                <Trigger Property="IsChecked" Value="False">
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate>
                                <Border Background="Red" />
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                </Trigger>
            </Style.Triggers>
        </Style>
    </ToggleButton.Style>
</ToggleButton>

En este ejemplo, el ToggleButton tiene un contenido cuando está marcada (un botón) y otros contenidos cuando no está marcada (un fondo borde rojo). Tendrá que manejar las acciones para cambiar el estado IsChecked por separado.

También una cosa, si el ToggleButton es el único control en el control de usuario que no hay necesidad de usar un control de usuario, solo la apariencia de las ToggleButton. UserControls son más apropiados cuando se desea agrupar controles juntos para tener una funcionalidad específica (como un cuadro de texto de búsqueda y un botón Ir para ser utilizado en conjunto como un control de búsqueda).

Puede estilo ToggleButton estableciendo ControlTemplate

comprobar WPF ControlTemplate disparador punta . esto le ayudará a

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top