Đôi khi khi tôi chỉnh sửa bản sao của mẫu điều khiển gốc, tôi không cần phải thay đổi kiểu gốc và màu sắc và muốn tham chiếu trực tiếp các mẫu gốc.Chỉnh sửa mẫu điều khiển wpf nhưng sử dụng kiểu gốc
Ví dụ: tôi muốn thay đổi mẫu ComboBox
để thêm một số nút lọc trong trình đơn thả xuống, nút chuyển đổi của nó đề cập đến Kiểu cũng được sao chép vào tệp. Tôi muốn đề cập đến phong cách ban đầu vì vậy XAML
của tôi không quá lộn xộn.
Chỉnh sửa: Vì vậy, đây là một phần của mã XAML được tạo khi bạn chọn chỉnh sửa bản sao. ControlTemplate là những gì tôi muốn thay đổi, nhưng tôi không cần kiểu ComboBoxToggleButton, và vì vậy cho toggleButton tôi muốn thiết lập kiểu của nó thành kiểu ComboBoxToggleButton được sao chép từ đó. Có một số không gian tên mà tất cả chúng đều được lưu trữ, hoặc chúng không thể tiếp cận được không?
<Style x:Key="ComboBoxToggleButton" TargetType="{x:Type ToggleButton}">
...
</Style>
<ControlTemplate x:Key="ComboBoxTemplate" TargetType="{x:Type ComboBox}">
<Grid x:Name="templateRoot" SnapsToDevicePixels="true">
...
<ToggleButton x:Name="toggleButton" ... Style="{StaticResource ResourceKey=ComboBoxToggleButton}"/>
</Grid>
</ControlTemplate>
Và khoảng những gì tôi muốn nó được như
<Window xmlns:baseStyles="{namespace/url to the default wpf styles}">
<ControlTemplate x:Key="ComboBoxTemplate" TargetType="{x:Type ComboBox}">
<Grid x:Name="templateRoot" SnapsToDevicePixels="true">
...
<ToggleButton x:Name="toggleButton" ... Style="{StaticResource ResourceKey=baseStyles:ComboBoxToggleButton}"/>
</Grid>
<ControlTemplate.Triggers>
...
</ControlTemplate.Triggers>
</ControlTemplate>
Bản sao có thể có của [kiểu kế thừa từ kiểu mặc định] (http://stackoverflow.com/questions/11581475/inherit-style-from-default-style) –
Không, bởi vì tôi không cố gắng kế thừa kiểu, Tôi đang cố gắng xóa hoàn toàn kiểu đã sao chép và chỉ tham chiếu một kiểu mà nó đã được đối chiếu. –
Xem câu trả lời để biết thêm thông tin dựa trên giải thích thêm của bạn. –