0

编辑:看来这只是 VisualStudio 不知何故弄糊涂了。重新启动后它接受它就好了。不过,我没有看到解决问题的方法。

我有一个带有两个控件的窗口:一个切换按钮和一个文本框。我希望切换按钮控制文本框的可见性,即当切换按钮的 ischecked 属性为 true 时显示文本框,并在它为 false 时折叠文本框(初始 ischecked 状态为 false)。

根据我能够找到的信息,似乎以下简单的 XAML 应该可以工作:

<Window
  x:Class="WpfApplication1.Window1"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Window.Resources>
    <BooleanToVisibilityConverter x:Key="IsCheckedVisibilityConverter"/>
  </Window.Resources>
  <StackPanel>
    <ToggleButton x:Name="ShowTextBox" Content="Show the TextBox" IsChecked="False"/>
    <TextBox Visibility="{Binding IsChecked, ElementName=ShowTextBox, Converter={StaticResource IsCheckedVisibilityConverter}}"/>
  </StackPanel>
</Window>

但是,当我收到错误时,我无法编译和运行它:

The TypeConverter for "IValueConverter" does not support converting from a string.

在 [Visibility="{Binding] 部分下方带有蓝色 squiqqly 下划线。

我确定我一定做错了什么,但我花了几个小时试图找到关于它为什么不起作用的信息,我能找到的只是一些例子,表明这或多或少是正确的做法它。谁能指出我做错了什么?

我对 C#/WPF/XAML 比较陌生,所以我正在玩弄一些东西来更好地感受这一切。如果有一个控件更适合此任务,我很想知道它,但我更感兴趣的是如何让它工作,这样我可以更好地了解正在发生的事情(或者更确切地说,为什么它不工作)。

谢谢你。

4

0 回答 0