在WPF的Grid行中一次设置一个可见属性

时间:2013-05-22 08:47:43

标签: wpf datagrid grid visibility

我有一个Grid,它有多行。在我的网格的第一行中,我有DataGrid来显示点击Tree时的内容。 如果TreeView中点击的值没有内容,则应在grid.row=0而不是DataGrid中显示NO-COntent。

我该怎么做?我已将Visibility设置为collapsedTextBox。当没有内容时,我已经在代码中Visible了。 将TextBox放置在任何位置时,它可以正常工作,但不能放在Grid.Row=0.

XAML

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Name="grid" Height="*"/>
        <RowDefinition Name="horzspliter" Height="5"/>
        <RowDefinition Name="detailview" Height="Auto"/>
    </Grid.RowDefinitions>

    <TextBlock Height="23" Grid.Row="0" HorizontalAlignment="Center" VerticalAlignment="Center" Name="textBlock1" Text="No-Content" Visibility="Collapsed" Width="500" />

    // Text Block Is not displayed in the Grid.Row="0"
    <my:DataGrid Grid.Row="0" />
</Grid>

Code behind

if (!File.Exists(path))
{               
    this.textBlock1.Visibility = Visibility.Visible;
}
else
{
    this.textBlock1.Visibility = Visibility.Collapsed;
    //Do Datagrid Operations
}

如何在DataGrid Hidden本身中将其显示为Grid.Row=0

1 个答案:

答案 0 :(得分:0)

网格与您的TextBox重叠。您可以在显示Collapsed时将网格可见性设置为TextBox,或者在XAML中使用TextBox更改DataGrid的声明顺序,并且您的TextBox将呈现在DataGrid的顶部。

相关问题