编辑:看来这只是VisualStudio以某种方式混淆了。它在重新启动后接受它就好了。我没有办法解决这个问题。
我有一个带有两个控件的窗口:一个togglebutton和一个文本框。我希望togglebutton控制文本框的可见性,即,当togglebutton的ischecked属性为true时显示文本框,并在文本框为false时崩溃(初始缺失状态为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]下面有一个蓝色方格下划线。
我确信我一定做错了什么,但我花了几个小时试图找到有关它为什么不起作用的信息,我所能找到的只是示例表明这或多或少是正确的这样做的方式。谁能指出我做错了什么?
我对C#/ WPF / XAML比较陌生,所以我在玩弄东西以便更好地感受它。如果有一个控件更适合这个任务,我很想知道它,但我更感兴趣的是如何使这个工作,所以我可以更好地了解正在发生的事情(或者更确切地说,为什么它不起作用)。 / p>
谢谢。
答案 0 :(得分:0)
您可以分享您的价值转换代码吗?
完全希望它与此类似
class IsCheckedVisibilityConverter:IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return Visibility.Visible;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return null;
}
}
构建它。检查一次。