Помогите попытаться использовать Togglebutton в Dickingnary

StackOverflow https://stackoverflow.com/questions/4688780

Вопрос

Я очень новичок в WPF, и мне сталкивается проблема, когда мне нужна помощь:

Моя среда - .net 4, VS2010, Win 7

Я хочу определить кнопку «Стилизованная переключателя», которую я буду использовать из пользовательского управления. Когда я объявляю контроль Togglebutton в UserControl, я хочу дать 2 возможного содержимого в соответствии с государством кнопки.

Мой вопрос: я не знаю, как объявить мою кнопку с помощью двух содержимого (один, когда iSchecked = true, один, когда Ischecked = false), я включил какой -то код, который я написал, который не компилируется.

заранее спасибо

...

Это было полезно?

Решение

Вы должны иметь возможность использовать что -то вроде:

      <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>

Другие советы

В зависимости от того, что такое ваше содержимое, вы можете сделать что -то вроде:

<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>

В этом примере ToggleButton имеет один контент, когда он проверяется (кнопка) и другое контент, когда он не проверяется (красный фон -граница). Вам придется справиться с действиями, чтобы переключить ичистичное состояние отдельно.

Кроме того, если Togglebutton является единственным контролем в вашем Usercontrol, нет необходимости использовать UserControl, просто Restyle togglebutton. Usercontrols более присвоены, если вы хотите объединить элементы управления, чтобы иметь определенную функциональность (например, текстовое поле поиска и кнопка GO, которая будет использоваться вместе в качестве управления поиском).

Вы можете стилизовать ToggleButton, установив ControlTemplate

Проверьте WPF ControlTemplate Trigger Tirec. Анкет Это поможет вам

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top