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를 직접 추가 하 여 스타일을 내가 원하는 방식으로 도착.
희망이 누군가가 도움이!
</끝>
에 지 저 귐에 나를 따르라합니다 http://www.twitter.com/pagalvin