2010-06-10 3 views
1

상단 텍스트 상자를 숨길 때 내 TextBox의 위치를 ​​변경하고 싶습니다. 어떻게 할 수 있습니까? 난 wpf C#을 사용하고 있습니다.Visibility = "Collapsed"무언가를 특별히 필요로하지 않습니까?

Visibility="Collapsed" 을 사용하면되지만 공간을 차지합니다. TextBoxVisibility="Collapsed"를 설정

+0

텍스트 상자가 위쪽, 아래쪽 등으로 이동해야 함을 의미합니다. –

+0

추측을 받아 들일 필요가 없도록 시나리오를 더 잘 설명하십시오. – Amsakanna

+1

"숨김"을 사용하지 않고 "접음"을 사용하고 있습니까? Visibility.Hidden은 텍스트 상자를 보이지 않게 만들지 만 위치를 유지 (공간 예약)하는 반면 Visibility.Collapse는 보이지 않게하고 공간을 확보합니다. 실제로 Collapsed를 사용하는 경우 @Veer가 설명하는대로 다른 레이아웃 문제가 있어야합니다. –

답변

0

봅니다 .... 여기

MSDN Visibility Enumeration

+0

사용했지만 작동하지 않습니다. – Shashank

+0

WPF 가시성 열거 형에는 Visible, Hidden 및 Collapsed라는 세 가지 값이 있습니다. 귀하가 올린 링크가 정확하지 않다고 생각합니다. – Marcote

+0

위의 링크는 Silverlight 용이지만 약간 다릅니다. 내가 원하는 링크는 다음과 같습니다. http://msdn.microsoft.com/en-us/library/system.windows.visibility.aspx –

2

내가 당신의 질문 및 의견에서 단서에 따라, 내 마지막 코멘트에 무슨 뜻인지 보여줍니다 예입니다. StackPanel, 고정 된 행 높이의 그리드, 자동 행 높이의 그리드에서 Visible, Hidden 및 Collapsed가 어떻게 작동하는지 보여줍니다.

이것은 아주 기본적인 내용이지만, 앞으로 도움이 될 것입니다. 향후 Google 검색에 도움이 될 것입니다.

<Window x:Class="CollapsedExample" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="Collapsed Example" SizeToContent="WidthAndHeight"> 

    <Window.Resources> 
     <Style x:Key="rectBase" TargetType="{x:Type Rectangle}"> 
      <Setter Property="Width" Value="100" /> 
      <Setter Property="Height" Value="50" /> 
      <Setter Property="Margin" Value="5" /> 
      <Setter Property="HorizontalAlignment" Value="Center" /> 
      <Setter Property="VerticalAlignment" Value="Center" /> 

     </Style> 

     <Style x:Key="rectCollapsing" 
       BasedOn="{StaticResource rectBase}" 
       TargetType="{x:Type Rectangle}"> 
      <Style.Triggers> 
       <DataTrigger Binding="{Binding ElementName=radioVisible, 
               Path=IsChecked}" 
          Value="True"> 
        <Setter Property="Visibility" Value="Visible" /> 
       </DataTrigger> 
       <DataTrigger Binding="{Binding ElementName=radioHidden, 
               Path=IsChecked}" 
          Value="True"> 
        <Setter Property="Visibility" Value="Hidden" /> 
       </DataTrigger> 
       <DataTrigger Binding="{Binding ElementName=radioCollapsed, 
               Path=IsChecked}" 
          Value="True"> 
        <Setter Property="Visibility" Value="Collapsed" /> 
       </DataTrigger> 
      </Style.Triggers> 
     </Style> 

     <Style x:Key="labelStyle" 
       TargetType="{x:Type Label}"> 
      <Setter Property="FontWeight" Value="Bold" /> 
      <Setter Property="HorizontalAlignment" Value="Center" /> 
      <Setter Property="VerticalAlignment" Value="Center" /> 
     </Style> 
    </Window.Resources> 

    <Grid x:Name="gridLayout" 
      HorizontalAlignment="Center" 
      VerticalAlignment="Center"> 

     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="*" /> 
      <ColumnDefinition Width="*" /> 
      <ColumnDefinition Width="*" /> 
     </Grid.ColumnDefinitions> 

     <Grid.RowDefinitions> 
      <RowDefinition Height="Auto" /> 
      <RowDefinition Height="Auto" /> 
      <RowDefinition Height="Auto" /> 
     </Grid.RowDefinitions> 


     <!-- Stack Panel --> 
     <Label Grid.Column="0" 
       Grid.Row="0" 
       Style="{StaticResource labelStyle}" 
       Content="Stack Panel" /> 
     <StackPanel x:Name="stackExample" 
        Grid.Column="0" 
        Grid.Row="1"> 
      <Rectangle Style="{StaticResource rectBase}" 
         Fill="Blue" /> 
      <Rectangle Style="{StaticResource rectCollapsing}" 
         Fill="Red" /> 
      <Rectangle Style="{StaticResource rectBase}" 
         Fill="Green" /> 
     </StackPanel> 

     <!-- Grid with Fixed Sizes --> 
     <Rectangle x:Name="rectShading" 
        Grid.Column="1" Grid.Row="0" Grid.RowSpan="2" 
        Fill="LightGray" /> 

     <Label Grid.Column="1" 
       Grid.Row="0" 
       Style="{StaticResource labelStyle}" 
       Content="Grid (Fixed Row Size)" /> 
     <Grid x:Name="gridFixedRowsExample" 
        Grid.Column="1" 
        Grid.Row="1"> 
      <Grid.RowDefinitions> 
       <RowDefinition Height="60" /> 
       <RowDefinition Height="60" /> 
       <RowDefinition Height="60" /> 
      </Grid.RowDefinitions> 
      <Rectangle Style="{StaticResource rectBase}" 
         Grid.Row="0" 
         Fill="Blue" /> 
      <Rectangle Style="{StaticResource rectCollapsing}" 
         Grid.Row="1" 
         Fill="Red" /> 
      <Rectangle Style="{StaticResource rectBase}" 
         Grid.Row="2" 
         Fill="Green" /> 
     </Grid> 


     <!-- Grid with Auto Sizes --> 
     <Label Grid.Column="2" 
       Grid.Row="0" 
       Style="{StaticResource labelStyle}" 
       Content="Grid (Auto Row Size)" /> 
     <Grid x:Name="gridAutoRowsExample" 
        Grid.Column="2" 
        Grid.Row="1"> 
      <Grid.RowDefinitions> 
       <RowDefinition Height="Auto" /> 
       <RowDefinition Height="Auto" /> 
       <RowDefinition Height="Auto" /> 
      </Grid.RowDefinitions> 
      <Rectangle Style="{StaticResource rectBase}" 
         Grid.Row="0" 
         Fill="Blue" /> 
      <Rectangle Style="{StaticResource rectCollapsing}" 
         Grid.Row="1" 
         Fill="Red" /> 
      <Rectangle Style="{StaticResource rectBase}" 
         Grid.Row="2" 
         Fill="Green" /> 
     </Grid> 


     <!-- Options --> 
     <StackPanel x:Name="stackOptions" 
        Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="3"> 
      <RadioButton x:Name="radioVisibile" 
         IsChecked="True" 
         Margin="5" 
         Content="Red Rectangle is Visible" /> 
      <RadioButton x:Name="radioHidden" 
         Margin="5" 
         Content="Red Rectangle is Hidden" /> 
      <RadioButton x:Name="radioCollapsed" 
         Margin="5" 
         Content="Red Rectangle is Collapsed" /> 
     </StackPanel> 

    </Grid> 
</Window> 
0

정확하게 이해하고 있다면 GUI 구성 요소의 가시성 값을 문자열 값으로 설정하려고합니다. 당신이해야 할 일은 System.Windows.Visibility의 미리 정의 된 상수로 설정하는 것입니다.

예를 들어 코드에서 myTextBox라는 텍스트 상자로 작업한다고 가정 해 보겠습니다. 당신이 설정해야 할 것 :

myTextBox.Visibility = System.Windows.Visibility.Collapsed; 

당신은 "축소"문자열로 설정하려고하면이 값으로 무엇을 알 수 없습니다.

관련 문제