1. 在自定义控件默认样式不要写Key
<Style x:Key="ColorPick1" TargetType="{x:Type local:ColorPicker}">
或者这样使用,
x:Key="{ComponentResourceKey TypeInTargetAssembly=控件类名, ResourceId=样式A标记}"
这样调用
Style="{StaticResource {ComponentResourceKey TypeInTargetAssembly=控件类名,ResourceId=样式A标记}}" />
2.ItemsControl条目控件显示属性DisplayNamePath不需要加Binding
DisplayNamePath = “{Binding 数据源的属性名}”
应该这样用
DisplayNamePath = “数据源的属性名”
以及当不修改DisplayNamePath属性,默认是显示该类的ToString()方法(项目名.类名),可以重写该类的Tosting方法来修改显示
3.在绑定枚举类型的数据时的绑定方法
Mode时枚举对象,PowerOff是枚举类中的一种。
<DataTrigger Binding="{Binding Path=Mode}" Value="PowerOff">
4.在使用行为触发器时,绑定的命令需要使用RelativeSource指定位置。
<i:Interaction.Triggers>
<i:EventTrigger EventName="TextChanged">
<i:InvokeCommandAction Command="{Binding DataContext.TextChangedCommand,
RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=Window}}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
5.在使用行为触发器时,当绑定带参的命令,考虑直接绑定ElementName的控件源。
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectedItemChanged">
<i:InvokeCommandAction Command="{Binding ChangeNodeCommand}"
CommandParameter="{Binding ElementName=modifyTreeView,Path=SelectedItem}"/>
</i:EventTrigger>
</i:Interaction.Triggers>