월별 아카이브: 4 월 2013

신속 하 고 쉽게: Windows 저장소 응용 프로그램에서 C# 사용 하 여 사각형을 이동

내 전체 블로그 철학은 오래 된에 대 한 블로그를 완벽 하 게 정상적입니다., 다른 곳에서 죽음을 다룬 주제를 정착.  이 항목은 그 중 가정, 하지만 난 블로깅 오전 그것은 어쨌든.

나 창 스토어 애플 리 케이 션에 일하고 그리고 나는 부분에 몇 가지 애니메이션 필요로 하는 곳.  이 위해, 연구 비트만 하 고 windows의 조각 애플 리 케이 션 애니메이션을 저장 하, 그것은 밝혀로 서, 에 매우 가까운, 하지만 정확 하 게 같은, .NET에서 XAML 기반 애니메이션 (난 아직도 왔어요 사실 그립 그 WinRT <> .NET 🙂 ).

오늘 아침 내가 다룰 드래그 및 드롭 작업 하 고 싶 었.  그는 도중에, 대신 사각형을 이동 빠져들고 있어 :).  다음은 코드 사용자가 단추를 클릭할 때 사각형을 이동 하는:

   1:   
   2:              MatrixTransform ct = (MatrixTransform)rectBig.RenderTransform;
   3:              매트릭스 m = ct.매트릭스;
   4:              m.OffsetX   = 10;
   5:              m.OffsetY   = 10;
   6:              ct입니다.매트릭스 = m;
   7:              rectBig.RenderTransform = ct;

여기 트릭 OffsetX 또는 OffsetY 직접 변경할 수 없는 것입니다.  이렇게 더 영리한 방법 있을 수 있습니다. (그리고 만약 당신이 알고 느낌 처럼, 의견에 게시 하시기 바랍니다). 

이것을 하기 위하여, 필요가:

1. 사각형의 MatrixTransform을 얻을 (RenderTransform 캐스팅 하 여).

2. 그 남자의 매트릭스를 얻을.

3. 매트릭스의 오프셋 변경.

4. 매트릭스는 MatrixTransform 다시 다시 할당.

5. 사각형을 다시 MatrixTransform 재할당.

그것을 테스트 하려면, 사각형을 넣고 화면 버튼. 버튼을 클릭 하면, 위의 논리 실행 하 고 즉시 사각형을 이동.

어떤 시점에서, 이 애니메이션을 적용 하 고 싶습니다 하지만 난 아무 생각이 일에 DoubleAnimation을 얻을 하는 방법 (Storyboard.SetTargetProperty() 시간에 대 한이 나에 게 신비가 되고있다).

</끝>

undefined내 블로그를 구독.

에 지 저 귐에 나를 따르라합니다 http://www.twitter.com/pagalvin

목록 상자에 프로그래밍 방식으로 Windows 스토어 애플 리 케이 션에 대 한 ListboxItems의 높이 설정

Windows 저장소 응용 프로그램에서 일하고 있어요 그리고 응용 프로그램에서 수행 하려는 것 들 중 하나는 것 들을 작동 하는 사용자 상태 메시지 및 다른 정보 음식 표시 로그 표시. 이 위해, 다음과 같이 ListBox를 추가:

<ListBox x:이름 ="GameStateLog" HorizontalAlignment ="센터" 높이 ="221" 값 ="맨 위로" 폭 ="499" 패딩 ="0" FontSize ="10">

 

런타임에 목록 상자를 채우는 데 C# 코드의 라인을 따라 했다:

GameStateLog.Items.Insert(0, GameStateCounter     + ": 새로운 게임 상태: 플레이어를 기다리고 1 이름");

이 충분히 잘 밖으로 일 하지만 UI 개별 메시지 주위 패딩의 미친 금액을 그들은 추가 했다. 최종 사용자가 이러한 항목을 선택할 수 있지만 이해가 되지 않습니다 그냥 실행 일련의 로그 메시지를 표시 하려면 사용자가이 선택 하지 않습니다-그 게 말, 그냥 그들을 볼합니다. 그것은 이상 하 게도 이것을 할 수 있는 쉬운 방법을 찾기 어렵다 고 틀림 없이, 내가 그것을 발견 하는 방법은 반드시 "쉬운" 아니지만 내가를 확인 작업. 중요가이 게시에서 온 여기 (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) 밥 Relyea에서. ListBox에 항목 컬렉션에 문자열을 추가 하는 대신, ListBoxItems 추가. 문자열을 추가 하 여, ListBox 자체에 자체 ListBoxItem을 생성 했다. 사실 그 ListBoxItem에 대해 아무것도 영향을 미칠 수 없습니다.. 새로운 코드는:

        개인 void AddGameStateLogMessage(문자열 메시지)
        {
            ListBoxItem 리 = 새로운 내용 ListBoxItem();
            리입니다.콘텐츠 메시지 =;
            리입니다.MaxHeight = 25;

            두께 thisPadding = 새로운 내용 두께(5, 0, 5, 0);
            리입니다.패딩 = thisPadding;

            GameStateLog.Items.Insert(0,리);
        }

 

여기 내가 만드는 ListBoxItem의 삽입 하 고. 나는 그것의 두께 설정 하 여 초과 패딩 제거.

이것은 매우 유연한 코딩 특정 유형의 메시지를 강조 하기 위해 몇 가지 색상을 할 않을 ListBoxItems를 직접 추가 하 여 스타일을 내가 원하는 방식으로 도착.

희망이 누군가가 도움이!

</끝>

undefined내 블로그를 구독.

에 지 저 귐에 나를 따르라합니다 http://www.twitter.com/pagalvin