将 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 并实现您想要的逻辑。
您好,我是 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 并实现您想要的逻辑。