Surface2011. 5. 27. 11:06

WPF에서 이런식으로 스토리를 보여주고 싶었다.(이건 완성된버전 ㅋㅋ)

 

image

 

이건 그냥 TextBlock으로 되는것이 아니다.

 

그래서 FlowDocument를 사용하였다..

 

일단 xaml에서 이렇게 코딩을 했다.

 

<FlowDocumentScrollViewer Grid.Row="1" Grid.ColumnSpan="2" VerticalScrollBarVisibility="Hidden" >
    <FlowDocument Background="Transparent">                                        
        <Paragraph FontFamily="Bell MT" FontSize="24" x:Name="DescriptionParagraph">
            <Floater Width="500"  HorizontalAlignment="Left">                            
                <BlockUIContainer>
                    <Rectangle Height="250" />
                </BlockUIContainer>
            </Floater>
            One Day, most of the town’s roads are ruined by the heavy rain. On that day, school bus-Schoobi happens to be late because of constructions on the road. Worrying that children may be waiting at the bus stop, Schoobi drives through the traffic with full speed, even though other cars are starring at him in a disapproving manner. Schoobi gets to a costal road, however, the road condition there is also messy. Dilly-dallying and regreting to go back. Schoobi ends up ramming into the guardail. Schoobi is now in the danger of falling down the cliff. Can Robocar Poli and his team save Schoobi?
        </Paragraph>
    
    </FlowDocument>
   
</FlowDocumentScrollViewer>
 
보면 알겠지만 FlowDocument에서 Paragraph를 사용하고 안에 Floater를 이용해서 안에 투명한 사각형을 왼쪽에 정렬하고 바깥쪽에 글을 입력하였다.
 
그럼 이제 안에 내용 Text를 계속 유동적으로 바꿔야 한다.
그럼 어떻게 해야할까? behind에서 수정하면 된다.
 
paragrah의 x:name을 DescriptionParagraph를 정의 했으니 이걸 변경하면 된다. 소스를 보자
 
private void SetDescriptionPlaceholder(string param)
        {
            DescriptionParagraph.Inlines.Remove(DescriptionParagraph.Inlines.Where(c => c is System.Windows.Documents.Run == true).Select(c => c).FirstOrDefault());
            DescriptionParagraph.Inlines.Add(param);
        }
 

이렇게 inline을 삭제하고 다시 추가하는 형식으로 바꾸었다.

 

이렇게 하면 끝~

Posted by 동동(이재동)
Surface2011. 5. 19. 16:06

아 이것때문에 시간 아까운데 2시간이나 까먹었다…

 

실버라이트랑 다르게 이상하게

 

Blend로 VisualState를 만들고

 

VisualStateManager.GoToState(this, "Title", true);

 

이렇게 state간의 전환을 할려고 했으나 계속 false를 return 했다. ㅡ.ㅡ!!!

 

인터넷 찾아보니…

 

WPF 버그라던데…

 

해결법은

 

VisualStateManager.GoToElementState(this.Content as FrameworkElement, "Title", true);

 

이렇게 element단위에서 해야한다.. 내참 인터넷에 왜 이런거 해결하는 법 하나도 없는거야?

Posted by 동동(이재동)
VisualStudio2009. 1. 15. 15:03
F12 : 내가 젤 많이 쓴다.... 메소드 찾아가기 ㅋㅋ 

Ctrl+k,k : bookmark기능 ,해제

Ctrl+k,n,p : bookmark 찾아가는데 n은 다음 p 는 이전

F5 : debuging 모드 실행이므로 실행이 느리다

ctrl+f5: 릴리즈모드

F9: 그냥 마우스 더블클릭이 더편해서 잘안씀 break point

ctrl+shift+F9 : 모든 break point 해제

ctr+R,M : 메소드 만들기..... 만들 소스 드래그후 만들면 편하다.

alt+shift+F12 : 아주 좋은 기능이다 모든 프로젝트에서 찾는데 마치 acroedit의 file에서 찾기 기능과 유사하다.
                    근데 shift+f12로도 되는거 같다 이게 더 편한듯?

ctrl+i : ctrl+f도 좋지만 자동완성처럼 오페라나 크롬 파폭처럼 한글자씩 찾을때 유용하다..
 
blend에서 창 다 지우는거 (안지우면 느리기때문에)
ctrl+shift+w .

shifht+f12 : alt+shift+f12와 같은 기능같은데 아주 좋다 이거 자주 이용해야지 ㅋㅋ

Ctrl+K,Ctrl+K : 코드 정렬해주는거 좋다 소스 정리할때

Ctrl+M,M : Region 을 쓸때 닫고 열고 아주 유용한 단축키이다. 많이 쓸예정

Ctrl+K,S : Surround with 기능으로 try catch나 region 묶을때 유용하다


ctrl+f4 : 탭창을 닫을때 쓴다 그냥 누르고 있으면 다 닫아진다 아주 굿~


Shfit+Alt+Enter 천체 화면 코딩에 집중할때 쓴다.

정말 좋은거 발견~~~~

Shfit+Ctrl+8 : 항상 우리가 정의(F12)로 갔을때 다시 돌아오고 싶을때쓴다. 

Shfit+Ctrl+7 : 다시 돌아왔는데 다시 가고 싶을때 쓴다. 신기 신기

visual studio에서 창 다 닫는거 current 창 빼고(단축키가 기복적으로 없어서 설정해주어야함)
Options>Environment>Keyboard에서 
File.CloseAllButThis
를 찾아서 ctrl+shift+w로 바꾼다(블랜드랑 같다ㅋㅋ)

한개의 문장 선택법(아주유용하다)

마우스 (해당부분을 더블클릭)
키보드 (CTRL+Shift+화살표키)

Ctrl + "M" + "M"

코드 블록을 열었다 접었다 할 수 있는 단축키 입니다. 혼잡한 코드를 정리해서 보고 싶을 때 유용한 단축 키 입니다.
아래는 코드가 열려있는 화면입니다.

ctrl+f3 대부분 Ctrl+f 해서 찾는데 처음에 ctrl+f3을 해서 f3을 누르면 현재 커서에 있는 것을 찾는다.

Ctrl+K+S Surround with 기능이다 Try~ catch 문 같은것을 편리 하게 묶어준다^^

Ctrl+K+F 라인정렬 으로 인터넷에서 가져온 소스 정렬할때 유용 ㅋ

2012 3.19 추가

Ctrl+Alt+L 솔루션 익스플로러 바로 이동(파일찾을떄 유용) 돌아갈땐 그냥 ctrl+esc

CTRL+[ + S

이건 현재 문서가 어디에 있는 찾도록 해준다.. 이게 디폴트로 있는지 몰라서 계속 익스텐션에 있는걸 썻었는데 ㅠㅠ


Tab 이동할때

Ctrl+ALT PageUP or PageDpwn or Home or END 키로 이동 가능하다 나름 ctrl+esc보다 유용한거 같다?


모든 단축키 : http://msdn.microsoft.com/en-us/library/da5kh0wa.aspx

Posted by 동동(이재동)