将 usercontrol 控件转换为样式

convert usercontrol control to style

您好,我是 wpf 中的新手 我有一个在用户控件中创建的控件 我想以样式创建此控件 我不知道该怎么做: 这是 xaml 代码: https://gist.github.com/ghost1372/8b3db759241b3ddb838789e446efb0b4#file-multiselectcombo-xaml
这是cs代码:
https://gist.github.com/ghost1372/8b3db759241b3ddb838789e446efb0b4#file-multiselectcombo-cs

基本上您所要做的就是定义样式并使用设置器设置属性。类似于:

<Style x:Key="MultiSelectCombo" TargetType="{x:Type ComboBox}">
    <Setter Property="SnapsToDevicePixels" Value="True"/>
    ...
    <Setter Property="Template">
        <Setter.Value>
            <!-- Put the control template you used in your UserControl -->

        </Setter.Value>
    </Setter>
    <Setter Property="ItemTemplate">
        <Setter.Value>
            <!-- Put the DataTemplate you used in your UserControl -->

        </Setter.Value>
    </Setter>
</Style>

现在这种样式可以应用于任何 ComboBox 并且会改变它的外观。但是,如果您还想更改行为,则需要创建一个 MultiSelectCombo class 来覆盖 ComboBox 并实现您想要的逻辑。