wpf textbox的隐藏与显示

zhoufangf 2014-02-24 10:43:53
WPF中通过checkbox来控制textbox的隐藏与显示
private void checkBox1_Checked(object sender, RoutedEventArgs e)
{
if (checkBox1.IsChecked == false)
{
textBox2.IsEnabled = false;

}
else
{
textBox2.IsEnabled = true;
}

}
我是这么实现的,但是这样textbox显示出来后,就不能再隐藏了,求指点
...全文
974 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Bonjour-你好 2014-02-25
  • 打赏
  • 举报
回复
引用 9 楼 zhoufangf 的回复:
出现未能解析资源BooleanToVisibilityConverter,求解
<Window
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        x:Class="WpfApplication1.Window1"
        Title="Window1" Height="336" Width="459">
    
    <Window.Resources>
        <BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
    </Window.Resources>

    <Grid>
        <CheckBox x:Name="checkbox1" Content="CheckBox" HorizontalAlignment="Left" Margin="10,214,0,0" VerticalAlignment="Top"/>
        <TextBox HorizontalAlignment="Left" Height="23" Margin="10,261,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="120" Visibility="{Binding IsChecked, Converter={StaticResource BooleanToVisibilityConverter}, ElementName=checkbox1}"/>
    </Grid>
</Window>
PS:建议楼主下次直接引用别人的楼层,不然论坛的系统无法通知别人的。
zhoufangf 2014-02-25
  • 打赏
  • 举报
回复
引用
<CheckBox x:Name="checkbox1" Content="CheckBox" HorizontalAlignment="Left" Margin="10,214,0,0" VerticalAlignment="Top"/>
        <TextBox HorizontalAlignment="Left" Height="23" Margin="10,261,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="120" Visibility="{Binding IsChecked, Converter={StaticResource BooleanToVisibilityConverter}, ElementName=checkbox1}"/>
出现未能解析资源BooleanToVisibilityConverter,求解
灬浪子灬 2014-02-25
  • 打赏
  • 举报
回复
路过!楼上的方法已经解决
zhoufangf 2014-02-25
  • 打赏
  • 举报
回复
10楼 Bonjour-你好的回复:
问题解决,很感谢你的帮助
zhoufangf 2014-02-25
  • 打赏
  • 举报
回复
引用
10楼 Bonjour-你好的回复:

<Window
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        x:Class="WpfApplication1.Window1"
        Title="Window1" Height="336" Width="459">
     
    <Window.Resources>
        <BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
    </Window.Resources>
 
    <Grid>
        <CheckBox x:Name="checkbox1" Content="CheckBox" HorizontalAlignment="Left" Margin="10,214,0,0" VerticalAlignment="Top"/>
        <TextBox HorizontalAlignment="Left" Height="23" Margin="10,261,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="120" Visibility="{Binding IsChecked, Converter={StaticResource BooleanToVisibilityConverter}, ElementName=checkbox1}"/>
    </Grid>
</Window>
非常感谢你,问题解决了。
欢乐的小猪 2014-02-24
  • 打赏
  • 举报
回复
引用 1 楼 liuys00 的回复:
checkBox1_Checked事件是在checkBox1选中时触发的 checkBox1_UnChecked事件是在checkBox1取消选中时触发的
补充一点是你可以设置textbox的visibility属性
  • 打赏
  • 举报
回复
1楼回复正确,同样的控件在winform里一个事件就能搞定,到wpf就得用两个事件,难怪没几个人玩wpf……
liuys00 2014-02-24
  • 打赏
  • 举报
回复
checkBox1_Checked事件是在checkBox1选中时触发的 checkBox1_UnChecked事件是在checkBox1取消选中时触发的
Bonjour-你好 2014-02-24
  • 打赏
  • 举报
回复
        <CheckBox x:Name="checkbox1" Content="CheckBox" HorizontalAlignment="Left" Margin="10,214,0,0" VerticalAlignment="Top"/>
<TextBox HorizontalAlignment="Left" Height="23" Margin="10,261,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="120" Visibility="{Binding IsChecked, Converter={StaticResource BooleanToVisibilityConverter}, ElementName=checkbox1}"/>


zhoufangf 2014-02-24
  • 打赏
  • 举报
回复
引用
补充一点是你可以设置textbox的visibility属性
我用了visibility没有反应啊,能贴出来给我看下吗
Bonjour-你好 2014-02-24
  • 打赏
  • 举报
回复
引用
双向绑定也能轻松实现。
应该是单向
Bonjour-你好 2014-02-24
  • 打赏
  • 举报
回复
双向绑定也能轻松实现。

8,735

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧