2011-12-02 3 views
5

콘트롤 배경에 진행 막대를 포함하도록 특정 WPF 컨트롤 (예 : 콤보 상자, 텍스트 상자 등)을 수정하려면 어떻게해야합니까 (필요에 따라 사용 여부를 설정할 수 있음). 실제로 정확한 진도를 보여줄 필요는 없습니다. 오히려이 컨트롤이 끝날 때까지 기다리는 표시가 필요합니다. 컨트롤 안에 회전하는 아이콘도 괜찮습니다.WPF 컨트롤의 배경에 진행률 막대 추가

나는 하나의 컨트롤을 다른 컨트롤 위에 놓고 투명성을 설정하는 등의 해결책이 있지만 더 나은 솔루션을 찾는 것이 훨씬 더 좋습니다.

감사합니다.

답변

5

어디서나 무엇이든 넣을 수 있으며, 단지 Template을 수정해야합니다. 이는 사소하지 않을 수도 있습니다. the existing ones을 복사하여 시작할 수 있습니다.

은 쉽게 당신이 어쩌면 당신은 그래서 당신은 (아마도 BooleanToVisibilityConverter 포함) 템플릿의 ProgressBarVisibility에 결합 할 수있는 것을위한 전용 종속성 속성을 가질 수 있습니다 대상 컨트롤을 서브 클래 싱해야 사용하거나 사용하지 않도록합니다.

+0

이 답변에 동의합니다. WPF에서 많은 사용자 정의 작업을 수행 할 수 있으므로 필요에 따라 사용자 정의 컨트롤을 사용하여이 작업을 수행 할 수도 있습니다. 그러나 새 컨트롤 템플릿과 하위 클래스 컨트롤을 제공하는 것이 좋습니다. – Adam

+0

조언 해 주셔서 감사합니다. 컨트롤 템플릿을 수정하려면 기존 템플릿이 무엇인지 알아야합니까? 예를 들어, DevExpress의 ComboBoxEdit을 사용하고 있습니다.이 템플릿에는 연결된 것과 다른 템플릿이있을 수 있습니다. – user981225

+0

@ user981225 : 세부 사항을 알 필요는 없지만 필수 부분을 알아야합니다. 일반적으로 [클래스의 속성]으로 표시됩니다 (http://msdn.microsoft.com/en-us/library/). system.windows.templatepartattribute.aspx). 이러한 컨트롤은 템플릿에 표시해야하며 각 부분 이름이 있어야합니다. –