Combobox 클래스에서 상속되는 사용자 지정 콤보 상자 컨트롤을 만들었습니다. 모든 콤보 상자에 자동으로 적용되는 ResourceDictionary의 ComboxBox 유형에 대해 정의 된 유형 스타일이 있지만 사용자 정의 컨트롤이 적용되지 않습니다. App.xaml에WPF 사용자 지정 컨트롤에 기본 스타일 적용
<Application.Resources>
<Style x:Key="{x:Type ComboBox}" TargetType="{x:Type ComboBox}">
<Setter Property="Background" Value="Gray"/>
</Style>
</Application.Resources>
사용자 정의 콤보
public class AutoComboBox : ComboBox
MainWindow.xaml
<StackPanel Orientation="Vertical">
<ComboBox Width="200"/>
<local:AutoComboBox Width="200"/>
</StackPanel>
을 정의
스타일 첫 번째 콤보 상자는 App.xaml에 정의 된 스타일이 적용될 때 배경이 회색으로 표시됩니다. 그러나 두 번째 콤보 상자에는 여전히 기본 배경색이 표시됩니다.
맞춤 컨트롤에 중복 스타일을 만들지 않고 동일한 맞춤 스타일을 맞춤 컨트롤에 적용 할 수있는 방법이 있습니까?
코드 표시 : XAML + 사용자 지정 컨트롤. –
WPF 컨트롤을 확장하기위한 상속이 권장되지 않습니다. 왜 전역 스타일을 설정하지 않았습니까? 아니면 스타일을 적용하여 선택적으로 스타일 키를 지정하십시오. – markmnl
스타일로 구현할 수없는 Rx 프레임 워크를 사용하여 콤보 상자에서 자동 완성 기능을 제공하기 위해 상속을 사용하고 있습니다. – pchajer