将用户控件控件转换为样式



嗨,我在 wpf 中新建了一个控件,我想以我不知道该怎么办的样式创建此控件:这是 XAML 代码:https://gist.github.com/ghost1372/8b3db759241b3ddb838789e446efb0b4#file-multiselectcombo-xaml
这是CS代码:
https://gist.github.com/ghost1372/8b3db759241b3ddb838789e446efb0b4#file-multiselectcombo-cs

基本上你所要做的就是定义一个 Style 并使用 Setters 设置属性。像这样:

<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 类。

相关内容

  • 没有找到相关文章