WPF Q&A

특정 Row 의 높이에 맞게 ListView의 Height 를 변경하고 싶습니다. 비가와요 평점: 없음 조회: 288
<ScrollViewer Grid.Column="1" x:Name="scrvMain"  Margin="0,2,0,2"
                      HorizontalAlignment="Stretch" VerticalAlignment="Top" 
                      HorizontalContentAlignment="Center" VerticalContentAlignment="Top"
                      HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
 
<Grid Margin="5" MinWidth="1280" MinHeight="800" x:Name="grdA" SizeChanged="grdA_SizeChanged">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="10"/>
<ColumnDefinition Width="2.5*"/>
</Grid.ColumnDefinitions>
 
<Grid Grid.Row="0" x:Name="grdB" SizeChanged="grdB_SizeChanged">
<Grid.RowDefinitions>
<RowDefinition Height="auto" MinHeight="27"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="*" x:Name="rowDefTestData"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
 
<Grid Grid.Row="2" VerticalAlignment="Top">
.
.
.
</Grid>
 
 
<ListView Grid.Row="3" BorderThickness="1,1,1,1" Margin="0,5,0,0" MinHeight="300" x:Name="lstv"
.
.
.
</ListView>
 
</Grid>
</Grid>
 
</ScrollViewer>
 
 
C#
private void grdA_SizeChanged(object sender, SizeChangedEventArgs e)
        {
            if (e.HeightChanged)
            {
                lstvPerPassData.Height = rowDefTestData.ActualHeight;
                Console.WriteLine("A Height : " + lstvPerPassData.Height);
            }
        }
 
        private void grdB_SizeChanged(object sender, SizeChangedEventArgs e)
        {
            if (e.HeightChanged)
            {
                lstvPerPassData.Height = rowDefTestData.ActualHeight;
                Console.WriteLine("B Height : " + lstvPerPassData.Height);
            }
        }

대략적인 소스는 위와 같습니다. 하지만.
grdA_SizeChanged() 는 이벤트가 프로그램이 실행되어있는데, 계속 발생 합니다.
결국 lstv.Height 는 계속 변경어 높이가 계속 늘어나고, grdB_SizeChanged() 는 이벤트가 발생하지 않습니다.
아마 lstvPerPassData.Height = rowDefTestData.ActualHeight 이 부분에서 높이가 rowDefTestData 의 높이보다
약간씩 달라서 계속 변경 이벤트가 발생하는듯 합니다.
하지만 원하는것은.
화면 디자인이 모두 끝난 후 rowDefTestData.ActualHeight 값을 원합니다.
grdA_SizeChanged(), grdB_SizeChanged() 모두 rowDefTestData.ActualHeight 이 값은 프로그램이 실행되고 
화면에 모든 내용들이 표시 된 후 높이와 다릅니다.
 
어떻게 제대로된 rowDefTestData.ActualHeight 값을 얻을 수 있을까요?
 
태그 : #ActualHeight
작성자 정보
비가와요
Level 26
 [EXP.35/50]

메일:  비공개
글등록 +12 528 덧글등록 +3 105
자기소개
WPF 초보입니다~
글 공유하기 |
  tweet facebook
2018-03-05 오후 12:20:47
나도한마디
태그로 엮인글
글리스트
코드 줄이는 방법?[3]  왕초보자
MouseDown 원래 반응이 없나요?[2]+2  insurang
background 설정 관련 질문드립니다.  파일첨부 EY
tabcontrol안에 treeveiw xml 데이터 바인딩 후 컨트롤 보여질때 지연문제  좋은추억
DependencyProperty 의 속성값 변경 이벤트.[1]+1  비가와요
wpf 로 앱을만들때[1]+1  엿장수
빈 이벤트 삭제  임병기
WPF프로젝트에서 gif 반복재생[2]+3  왕초보자
GridLength DependencyProperty 를 적용할 때 Default 값을 적용하려면 어떻게 해야 하...  비가와요
wpf 상용 컴포넌트 질문좀 드립니다.[1]+1  좋은추억
 ★현재글->   특정 Row 의 높이에 맞게 ListView의 Height 를 변경하고 싶습니다.  비가와요
DataGridComboBoxColumn 속도문제[2]+2 파일첨부 gynth
wpf 한글이 string 변수에 안 들어가집니다. 파일첨부 leetoya
WPF 윈도우 새 창 질문드립니다.[1]+1  인상짱짱맨
style setter 가 작동하지 않습니다.  광합성하는남자
wpf 한글 깨짐 문제[1] 파일첨부 leetoya
wpf 한글 깨짐 문제 파일첨부 leetoya
Grid 의 ColumnDefinition 의 Width 값을 C# 코드에서 변경할 경우 문제가 생깁니다..  비가와요
화면이동 질문드립니다.[1]  호랑이구이
WPF TOOLKIT 을 이용한 차트에서 데이터가 남아있는경우?[1]+3  towamk
입력/표시할 내용이 많은 표와 같은 경우 어느 콘트롤을 이용하는게 좋을까요?[2]+2  비가와요