我只是想创建一个文本框,只有在满足某些条件时才会显示! 我想要的是,如果符合条件,则应出现文本框。
如果不满足条件,则不应该看到它(不仅仅是将文本框的可见性改为折叠),即不应该有空位。
我该怎么做?
答案 0 :(得分:1)
XAML为MVVM模式提供了丰富的数据绑定机制。你必须:
INotifyPropertyChanged
ViewModel
PropertyChanged
的setter中触发INotifyPropertyChanged
事件ViewModel
,其数据类型为TextBox
可见性TextBox
然后,在某处更改此属性会自动导致更改TextBox
状态
答案 1 :(得分:1)
在网格对象中添加一个文本框,如
Grid grid=new Grid(){Height=60,Width=100};
Textbox tBox=new Textbox(){Text="Sample",Visibility=Visibility.Collapsed};
grid.Children.Add(tBox);
现在条件
if(Condition==true)
{
tBox.Visibility=Visibility.Visible;
}
else
{
tBox.Visibility=Visibility.Collapsed;
}
答案 2 :(得分:1)
我认为没有必要动态创建TextBox。您应该通过在xaml和TextBox Visibility中创建TextBox来管理它。当您在xaml中创建TextBox时,请记住Height应该是TextBox的默认值。 这是样本
<TextBox x:Name="txtVisible" Visibility="Collapsed"/>
if(Condition==met)
txtVisible.Visibility=Visibility.Visible;
else
txtVisible.Visibility=Visibility.Collapsed;
答案 3 :(得分:-1)
你可以使用我认为的面板。将一些东西放在面板下,放入面板,然后放上文本框。并且默认情况下使面板不可见。如果满足条件,您可以通过代码
使面板可见