어떻게 코드 뒤에 다음을 설정할 수 있습니까?BasedOn = "{StaticResource {x : Type TextBox}}"스타일의 코드 뒤에
<Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
내가 테마를 사용하여 App.xaml을 병합했습니다. 모든 컨트롤에서 잘 작동하지만 스타일을 정의 할 때 (예 : TextBox
의 경우 위와 같이 BasedOn
을 사용하지 않으면 테마 스타일이 선택되지 않고 기본값 인 TextBox
스타일이 적용됩니다.
DataGridTextColumn
을 만드는거야 그리고 나는
BasedOn
부분은
EditingElementStyle
Style editingStyle = new Style(typeof(TextBox));
editingStyle.BasedOn = ...?;
어떤 제안을 작동시킬 수없는 이유는 무엇입니까? 또한 BasedOn을 사용하지 않고 기본 스타일 대신 테마 스타일을 적용 할 수있는 방법이 있습니까?
감사
로컬 스타일이 영향을받는 테마 구성 요소를 오버라이드 (override) :
그래서 나는이 추천? –@Aaron : 모든 컨트롤에 영향을 미치는 테마를 사용하고 있습니다. 하지만 여러 곳에서 특정 Setter, 트리거 등을 추가해야합니다. 예를 들어 ListBox ItemContainerStyle에 'ListBoxItem.IsSelected'를 바인딩합니다. 추가 설정 기와 함께 적용된 테마 스타일을 원합니다. –