C# 4.0 包含大量信息的网格-空时不显示
我有一个非常大的网格,我在下面显示了我的一些XAML,但是如果值为空,它不应该在行上显示TextBlocksC# 4.0 包含大量信息的网格-空时不显示,c#-4.0,windows-runtime,winrt-xaml,C# 4.0,Windows Runtime,Winrt Xaml,我有一个非常大的网格,我在下面显示了我的一些XAML,但是如果值为空,它不应该在行上显示TextBlocks 我怎样才能创造呢 <Grid x:Name="JobDetailGrid"> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/> <RowDefinition Height="A
我怎样才能创造呢
<Grid x:Name="JobDetailGrid">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="10" />
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" x:Uid="JobDetailTaskType" />
<TextBlock Grid.Row="0" Grid.Column="2" x:Uid="JobDetailTaskTypeSrv" Text="{Binding TaskType}" />
<TextBlock Grid.Row="1" Grid.Column="0" x:Uid="JobDetailStatus" />
<TextBlock Grid.Row="1" Grid.Column="2" x:Uid="JobDetailStatusSrv" Text="{Binding Status}" />
<TextBlock Grid.Row="4" Grid.Column="0" x:Uid="JobDetailApproved" />
<TextBlock Grid.Row="4" Grid.Column="2" x:Uid="JobDetailApprovedSrv" Text="{Binding Approved}" />
也许我可以用C#来做,但是我在想,如果我可以做一个绑定或者创建一个StackPanel,但是StackPanel的问题是,我需要在每个文本块之后创建边距
或者我需要为此创建自己的用户控件吗?这可以通过绑定轻松完成!您需要创建一个包含字符串的文本块,并返回可见性(因此空字符串将隐藏文本框),然后按如下所示设置文本块的可见性:-
<TextBlock Grid.Row="0" Grid.Column="0" x:Uid="JobDetailTaskType" Visibility={Binding TaskType, Converter={StaticResource visibilityConverter}}/>
将可见性放在文本块(标签和值)上,因为您有自动显示的高度,所以您不需要乱加边距。行也隐藏了吗?是的,因为它设置为自动-您不想隐藏它吗?如果没有值,是的