WPF-콘텐츠에 대한 사용자 지정 패널 크기

그들은 otzap이었다

내 패널은 UniformGrid와 유사한 작업을 시도하며 ItemContainerWidth (40.0) 및 ItemContainerHeight (20.0) 종속성 속성 외에도 ColumnNumber 속성이 있습니다.

내 패널의 크기를 내용에 맞게 조정하고 싶습니다.

내 MesureOverride :

 protected override Size MeasureOverride(Size constraint)
 {            
     if (constraint.Width == double.PositiveInfinity || constraint.Height == double.PositiveInfinity)
         return Size.Empty;

     for (int i = 0; i < InternalChildren.Count; i++)
     {
         InternalChildren[i].Measure(new Size(ItemContainerWidth, ItemContainerHeight));
     }

     return constraint;
 }

내 ArrangeOverride :

  protected override Size ArrangeOverride(Size finalSize)
  {                  
        int currentColumn = 0; 
        int currentRow = 0 ; 

        for (int i = 0; i < InternalChildren.Count; i++)
        {
            UIElement child = InternalChildren[i];

            if (currentColumn == ColumnCount)
            {
                currentColumn = 0;
                currentRow++;
            }
            currentColumn++; 

            double top = currentRow * ItemContainerHeight;
            double left = currentColumn * ItemContainerWidth;

            child.Arrange(new Rect(left, top, ItemContainerWidth, ItemContainerHeight));
        }

        return finalSize;
    }

내 패널의 ActualWidth 및 Height Equal to finalSize, 패널의 크기가 MeasureOvride (constraint)에서 반환 된 크기가되기를 바랍니다.

강제로 내 패널이 화면에서 다르게 배치되면 내 패널의 크기를 WrapPanel 또는 StackPanel과 같은 콘텐츠로 지정하고 싶습니다.

finalSize로

finalSize로

테스트 목적으로 제약 크기 (100,100) 포함

제약 크기

내 패널 사용 : XAML :

<Grid>
   <ItemsControl ItemsSource="{Binding Items, Mode=OneWay}" >            
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <uni:ScrollableUniformGrid  ColumnCount="12" />
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>

        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <Border BorderBrush="Black" BorderThickness="0,0,1,1">
                    <TextBlock Text="{Binding}" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                </Border>
            </DataTemplate>
        </ItemsControl.ItemTemplate>   
    </ItemsControl>
 </Grid>
dev 고슴도치

처음 이해하지 못해서 미안 해요.

이것 좀보세요 :

<Grid>
    <ItemsControl ItemsSource="{Binding}">
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <local:ScrollableUniformGrid  HorizontalAlignment="Left" VerticalAlignment="Top" ColumnCount="3" />
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>

        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <Border BorderBrush="Black" BorderThickness="0,0,1,1">
                    <TextBlock Text="{Binding}" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                </Border>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>
</Grid>

이것이 ArrangeOverride의 모습입니다. MeasureOverride는 동일하게 유지 될 수 있습니다.

protected override Size ArrangeOverride(Size finalSize)
{
    int currentColumn = 0;
    int currentRow = 0;


    for (int i = 0; i < InternalChildren.Count; i++)
    {
        UIElement child = InternalChildren[i];

        double top = currentRow * ItemContainerHeight;
        double left = currentColumn * ItemContainerWidth;

        if (currentColumn == ColumnCount)
        {
            currentColumn = 0;
            currentRow++;
        }
        else
        {
            currentColumn++;
        }

        child.Arrange(new Rect(left, top, ItemContainerWidth, ItemContainerHeight));
    }

    return new Size((ColumnCount + 1) * ItemContainerWidth, (currentRow + 1) * ItemContainerHeight);
}

이 사진을보세요. 패널은 저에게 맞는 콘텐츠입니다.

여기에 이미지 설명 입력

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

WPF에서 사용 가능한 공간이있을 때 콘텐츠에 맞게 DataGrid 크기 조정

분류에서Dev

Wordpress : 사용자 지정 게시물 상태에 대한 콘텐츠를 대체하는 기능

분류에서Dev

Google지도 정보 상자에 대한 콘텐츠 문자열 만들기

분류에서Dev

HTML 콘텐츠 변환기에 대한 자바 스크립트 콘텐츠

분류에서Dev

자바 스크립트를 사용하는 표 형식 콘텐츠에 대한 정규식

분류에서Dev

ServiceStack Razor 콘텐츠 페이지에 대한 사용자 지정 경로

분류에서Dev

UIActivityController에서 선택한 항목을 기반으로 공유 콘텐츠 사용자 지정

분류에서Dev

사이드 패널과 콘텐츠 영역이있는 크기 조정 가능한 창을 만들려면 어떻게합니까?

분류에서Dev

UIWebView 콘텐츠 너비를 사용자 지정 크기로

분류에서Dev

WPF ItemsControl 요소-창 크기에 따라 콘텐츠 크기 조정 (고정)

분류에서Dev

WPF : ListView에 대한 사용자 지정보기 모드를 만드는 방법

분류에서Dev

형식이 지정된 콘텐츠가있는 게시물에 대한 "자세히보기"옵션-PHP

분류에서Dev

형식이 지정된 콘텐츠가있는 게시물에 대한 "자세히보기"옵션-PHP

분류에서Dev

iFrame 콘텐츠에 대한 사용자 에이전트 설정 / 강제

분류에서Dev

사용자 지정 격자 함수 : 패널 전체에서 정확한 색상 얻기

분류에서Dev

Twitter Bootstrap 패널에 콘텐츠 유지

분류에서Dev

콘텐츠에 맞게 크기가 조정되지 않는 상대 위치 콘텐츠 래퍼

분류에서Dev

wagtail 관리 홈 페이지에서 중재 대기중인 페이지 패널 사용자 지정

분류에서Dev

웹 편집 기용 Xtext에서 콘텐츠 제안 사용자 지정

분류에서Dev

모든 콘텐츠에 대해 jquery 기능을 사용하지 마십시오.

분류에서Dev

hdpi / mdpi / ldpi에 대한 사용자 지정지도 마커 아이콘 크기

분류에서Dev

각 사용자 지정 분류에 대한 특정 콘텐츠를 어떻게 에코 할 수 있습니까?

분류에서Dev

콘텐츠 생성 양식에서 텍스트 크기 제한이 제대로 크기 조정되지 않음

분류에서Dev

TYPO3에서 사용자 지정 콘텐츠 요소 만들기

분류에서Dev

사용자 지정 텍스트간에 콘텐츠 가져 오기

분류에서Dev

패키지에 대한 사용자 지정 크론 작업 파일 이름

분류에서Dev

AngularJS-JSON 콘텐츠를 사용하여 HTML 콘텐츠에서 대체 할 문자열 이름 결정

분류에서Dev

콘텐츠에 따라 iframe 높이 자동 크기 조정

분류에서Dev

UITableView 재사용 가능한 사용자 지정 셀이 하위보기에 잘못된 콘텐츠를 표시 함

Related 관련 기사

  1. 1

    WPF에서 사용 가능한 공간이있을 때 콘텐츠에 맞게 DataGrid 크기 조정

  2. 2

    Wordpress : 사용자 지정 게시물 상태에 대한 콘텐츠를 대체하는 기능

  3. 3

    Google지도 정보 상자에 대한 콘텐츠 문자열 만들기

  4. 4

    HTML 콘텐츠 변환기에 대한 자바 스크립트 콘텐츠

  5. 5

    자바 스크립트를 사용하는 표 형식 콘텐츠에 대한 정규식

  6. 6

    ServiceStack Razor 콘텐츠 페이지에 대한 사용자 지정 경로

  7. 7

    UIActivityController에서 선택한 항목을 기반으로 공유 콘텐츠 사용자 지정

  8. 8

    사이드 패널과 콘텐츠 영역이있는 크기 조정 가능한 창을 만들려면 어떻게합니까?

  9. 9

    UIWebView 콘텐츠 너비를 사용자 지정 크기로

  10. 10

    WPF ItemsControl 요소-창 크기에 따라 콘텐츠 크기 조정 (고정)

  11. 11

    WPF : ListView에 대한 사용자 지정보기 모드를 만드는 방법

  12. 12

    형식이 지정된 콘텐츠가있는 게시물에 대한 "자세히보기"옵션-PHP

  13. 13

    형식이 지정된 콘텐츠가있는 게시물에 대한 "자세히보기"옵션-PHP

  14. 14

    iFrame 콘텐츠에 대한 사용자 에이전트 설정 / 강제

  15. 15

    사용자 지정 격자 함수 : 패널 전체에서 정확한 색상 얻기

  16. 16

    Twitter Bootstrap 패널에 콘텐츠 유지

  17. 17

    콘텐츠에 맞게 크기가 조정되지 않는 상대 위치 콘텐츠 래퍼

  18. 18

    wagtail 관리 홈 페이지에서 중재 대기중인 페이지 패널 사용자 지정

  19. 19

    웹 편집 기용 Xtext에서 콘텐츠 제안 사용자 지정

  20. 20

    모든 콘텐츠에 대해 jquery 기능을 사용하지 마십시오.

  21. 21

    hdpi / mdpi / ldpi에 대한 사용자 지정지도 마커 아이콘 크기

  22. 22

    각 사용자 지정 분류에 대한 특정 콘텐츠를 어떻게 에코 할 수 있습니까?

  23. 23

    콘텐츠 생성 양식에서 텍스트 크기 제한이 제대로 크기 조정되지 않음

  24. 24

    TYPO3에서 사용자 지정 콘텐츠 요소 만들기

  25. 25

    사용자 지정 텍스트간에 콘텐츠 가져 오기

  26. 26

    패키지에 대한 사용자 지정 크론 작업 파일 이름

  27. 27

    AngularJS-JSON 콘텐츠를 사용하여 HTML 콘텐츠에서 대체 할 문자열 이름 결정

  28. 28

    콘텐츠에 따라 iframe 높이 자동 크기 조정

  29. 29

    UITableView 재사용 가능한 사용자 지정 셀이 하위보기에 잘못된 콘텐츠를 표시 함

뜨겁다태그

보관