ToggleButton 内容绑定到其状态

Stu*_*urm 2 c# wpf togglebutton

我需要在这个问题中得到解决,不幸的是它是针对 Silverlight 的,我无法使“交互性”库工作。

我有一个ToggleButton,我想在Content未选中时选中“再见”时将属性更改为“你好”。在这种情况下,我不能手动更改它,因为可以从多个来源更改状态。

我认为此任务可能需要转换器,并且我已经看到转换器到 Visibility 而不是字符串。

编辑:我想过将这两个词放在一个堆栈面板中,并将可见性 Visible/Collapsed 绑定到状态:

         <ToggleButton.Content>
          <StackPanel>
              <TextBlock Text="Hello" Visibility="{Binding ...}"/>
              <TextBlock Text="GoodBye"/>
          </StackPanel>
      </ToggleButton.Content>
Run Code Online (Sandbox Code Playgroud)

kma*_*zek 5

您可以使用触发器:

<ToggleButton>
    <ToggleButton.Style>
        <Style TargetType="ToggleButton">
            <Style.Triggers>
                <Trigger Property="IsChecked" Value="True">
                    <Setter Property="Content" Value="Hello" />
                </Trigger>
                <Trigger Property="IsChecked" Value="False">
                    <Setter Property="Content" Value="Good bye" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </ToggleButton.Style>
</ToggleButton>
Run Code Online (Sandbox Code Playgroud)

如果您想使用 System.Windows.Interactivity.dll,您可以在 Microsoft Expression Blend 软件开发工具包 (SDK)(下载链接)中找到它。