我在HubSection的DataTemplate中插入了一个TextBox。如何从c#中的代码管理属性? 我想更改“可见性”属性
<TextBox x:Name="NumeroTre" Text="3" Height="207.5" Margin="114.326,-50,113.506,0" FontSize="173.333" HorizontalAlignment="Center" RenderTransformOrigin="0.5,0.5" UseLayoutRounding="False" d:LayoutRounding="Auto" Visibility="Collapsed"/>
答案 0 :(得分:0)
您在数据模板中,因此使用该名称几乎是不可能的。无论如何你应该以MVVM的方式做到这一点:)
所以,绑定它。 Visibility
是枚举,因此如果要绑定到bool
,则需要转换器:
<TextBox Visibility="{Binding SomeBoolProp, Converter={StaticResource BoolToVisibilityConverter}"/>
转换器非常简单:
public class BoolToVisibilityConverter : IValueConveter
{
public object Convert (...)
{
return ((bool)value) ? Visibility.Visible : Visibility.Collapsed
}
public object ConvertBack(...)
{
return Binding.DoNothing; //Or you could do the backwards conversion if you want
}
}
如果您不熟悉MVVM(模型,视图,视图模型),请考虑阅读以下文章:Use the Model-View-ViewModel (MVVM) pattern