C# 如何动态创建文本框?
我只想创建一个文本框,它只在满足某些条件时出现! 我想要的是,如果满足条件,则应显示文本框 如果不满足这些条件,那么它就不应该是可见的(不仅仅是将文本框的可见性更改为折叠),也就是说,不应该有一个空的地方C# 如何动态创建文本框?,c#,xaml,windows-phone-8,C#,Xaml,Windows Phone 8,我只想创建一个文本框,它只在满足某些条件时出现! 我想要的是,如果满足条件,则应显示文本框 如果不满足这些条件,那么它就不应该是可见的(不仅仅是将文本框的可见性更改为折叠),也就是说,不应该有一个空的地方 如何做到这一点???XAML为MVVM模式提供了丰富的数据绑定机制。你必须: 在ViewModel 在数据类型为TextBox的情况下,在ViewModel的setter中创建一个属性,该属性的PropertyChanged事件为INotifyPropertyChanged 在XAML中,指向
如何做到这一点???XAML为MVVM模式提供了丰富的数据绑定机制。你必须:
ViewModel
TextBox
的情况下,在ViewModel
的setter中创建一个属性,该属性的PropertyChanged
事件为INotifyPropertyChanged
文本框
然后,在某个地方更改此属性会自动导致更改
TextBox
state我认为您可以使用面板。把一些东西放在面板下面,放在面板上,然后放上文本框。并在默认情况下使面板不可见。如果满足条件,您可以通过代码使面板可见,在网格对象内添加一个文本框,如
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;
}
我认为没有必要动态创建文本框。您应该通过在xaml中创建TextBox和TextBox可见性来管理它。在xaml中创建文本框时,请记住高度应该是文本框的默认值。 这是样品
<TextBox x:Name="txtVisible" Visibility="Collapsed"/>
if(Condition==met)
txtVisible.Visibility=Visibility.Visible;
else
txtVisible.Visibility=Visibility.Collapsed;
如果(条件==满足)
txtVisible.Visibility=可见性.Visibility;
其他的
txtVisible.Visibility=Visibility.Collapsed;
您需要发布一些代码,为我们提供一些上下文。这听起来像是一个简单的可见性绑定。