我是WPF的新手,我面临着需要帮助的问题:

我的环境是.NET 4,VS2010,WIN 7

我想定义一个样式的切换按钮,我将使用用户控件使用该按钮。当我在UserControl中声明ToggleButton控件时,我想根据按钮状态给出2个可能的内容。

我的问题:我不知道如何用2个内容声明我的按钮(一个is Checked = true,一个orschecked = 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,只需将toggleButton retyle retyle。当您想将控件组合在一起以具有特定功能(例如搜索文本框和一个将GO一起用作搜索控件)时,USERCONTROL会更加适用。

您可以通过设置ControlTemplate来设置toggleButton

查看 WPF ControlTemplate触发提示. 。这将帮助您

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top