C# 当窗口在WPF中收缩时,如何确定窗口的哪个部分首先关闭的优先级?
我有一个窗口,其中充满了小用户控件,每个用户控件都有一个3行网格。现在,当我缩小窗口时,行中的内容被垂直剪切。但是第1行的内容是最重要的,第0行的内容稍微不重要,第2行的内容是最不重要的,所以我想这样做,当收缩时,第2行首先消失,然后是第0行。 有什么建议吗 编辑:以下是我的小用户控件的xaml:C# 当窗口在WPF中收缩时,如何确定窗口的哪个部分首先关闭的优先级?,c#,wpf,C#,Wpf,我有一个窗口,其中充满了小用户控件,每个用户控件都有一个3行网格。现在,当我缩小窗口时,行中的内容被垂直剪切。但是第1行的内容是最重要的,第0行的内容稍微不重要,第2行的内容是最不重要的,所以我想这样做,当收缩时,第2行首先消失,然后是第0行。 有什么建议吗 编辑:以下是我的小用户控件的xaml: <Grid x:Name="suzi"> <Grid.RowDefinitions> <RowDefinition Height="*" Min
<Grid x:Name="suzi">
<Grid.RowDefinitions>
<RowDefinition Height="*" MinHeight="5"/>
<RowDefinition Height="*" />
<RowDefinition Height="*" MinHeight="10"/>
</Grid.RowDefinitions>
<Label Grid.Row="0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Foreground="Azure" Background="Black" Content="D00" FontSize="15" Name="LabelShow">
<Label.ToolTip>
<ToolTip>
<StackPanel>
<TextBlock FontWeight="Bold">Ime naprave</TextBlock>
<TextBlock x:Name="FullName"></TextBlock>
</StackPanel>
</ToolTip>
</Label.ToolTip>
</Label>
<TextBox x:Name="tbSV" Grid.Row="2" Background="Black" IsHitTestVisible="False" HorizontalAlignment="Center" Text="{Binding ElementName=Slider, Path=Value, StringFormat=0}" Foreground="Azure" VerticalAlignment="Top" FontSize="15" BorderBrush="Black" HorizontalContentAlignment="Center" RenderTransformOrigin="0.488,1.846"/>
<Rectangle x:Name="af1" Width="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path=ActualWidth}"
Height="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path=ActualHeight}"
Stroke="{Binding Stroke}" HorizontalAlignment="Center" VerticalAlignment="center" Grid.RowSpan="3" StrokeThickness="1" />
<Slider Style="{StaticResource StyleForSlider}" Name="Slider" Margin="5,0,5,0" Grid.Row="1" VerticalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Stretch" Grid.RowSpan="1" TickFrequency="100" Maximum="100" ValueChanged="Slider_ValueChanged" IsHitTestVisible="False" Focusable="False" />
</Grid>
编辑2:到目前为止,我正在尝试:
private void Window_SizeChanged(object sender, SizeChangedEventArgs e)
{
double neki = suzi.ActualHeight;
if (neki <= 75)
{
LabelShow.Visibility = Visibility.Hidden;
tbSV.Visibility = Visibility.Hidden;
}
else
{
LabelShow.Visibility = Visibility.Visible;
tbSV.Visibility = Visibility.Visible;
}
但它只是不工作的权利,因为我需要滑块行扩展到隐藏的。。。在这里,我一次隐藏一个项目,而不是整行,但这是我到目前为止最接近的一个项目…您可以为每行提供一个最小尺寸,这可能足够您使用:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" MinHeight="10"/>
<RowDefinition Height="Auto" MinHeight="20"/>
</Grid.RowDefinitions>
</Grid>
我没有看到任何东西可以改变默认行为的工作方式,它遵循通常的从左上到右下的类型顺序。我尝试了这个选项,但对我来说没有任何改变,元素仍然会被剪切,我正在尝试使它们消失,就像在可见性->隐藏中一样,它们通常会被剪切。