我想在单击按钮时隐藏多个文本框,标签和按钮...但是,出于某种原因,我的代码似乎不会导致此效果。似乎没有任何事情发生。我正在使用WPF。
这是我的代码:
private void doSomething_Click(object sender, RoutedEventArgs e)
{
Name.Visibility = Visibility.Hidden;
}
此代码似乎不起作用..任何想法?
答案 0 :(得分:11)
我相信Visibility.Collapsed
是你需要的而不是Visibility.Hidden
。
编辑:您是否尝试使用父元素/组件的UpdateLayout()
方法跟进此代码?
答案 1 :(得分:7)
您的代码似乎工作正常,其他所有内容消失后,“登录...”标签会出现。我建议你只需将.xaml.cs文件和.xaml文件中的所有代码复制到一个新项目中,但要确保不要复制第一行"<Window x:Class="..."
,因为它可能会产生错误,如果类名在新项目中不相同。
对于xaml代码,我建议你不要像设计Windows窗体应用程序那样思考。 WPF具有布局系统,在重新调整窗口大小时重新定位或重新调整其元素的大小。所以你不应该在margin属性中指定确切的数字,就好像它们在坐标中一样。创建网格,为每个元素创建行或列,然后只设置水平或垂直对齐或边距。认为不同于旧的Windows窗体方式。
答案 2 :(得分:4)
我已经运行了你的代码......它对我很有用。我没有改变任何东西(变量名除外),所以我猜这是VS的一个bug。
如上所述,nikolamm94尝试在this.UpdateLayout();
末尾添加connect_Click
,这可能有所帮助。我试过,它仍然工作正常。或者也许创建一个新的VS projet,它已经为我工作了几次。
抱歉,我的答案不是最有帮助的,我想发表评论,但我没有足够的声誉:/
答案 3 :(得分:0)
您可以通过转到properties-&gt; appearance-&gt;可见性隐藏文本框,然后将其设置为&#34;隐藏&#34;
答案 4 :(得分:0)
请参阅:https://msdn.microsoft.com/en-us/library/ms748821(v=vs.85).aspx
设置为Visible:tb1.Visibility = System.Windows.Visibility.Visible;
设置为隐藏:tb1.Visibility = System.Windows.Visibility.Hidden;