如何处理Textbox HubSection中的代码?

时间:2015-01-14 18:12:54

标签: c# xaml windows-store-apps

我在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"/>

1 个答案:

答案 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