触发器中控件依赖属性绑定失效
问题:
该触发器触发后,stitchOverTopControl中的IsRotate依赖属性没有更新。
<Trigger Property="WarningLevel" Value="2"> <Setter Property="Content" > <Setter.Value> <Grid Margin="0,-35,0,0" x:Name="topGrid" VerticalAlignment="Top" > <local:StitchOverTopControl HorizontalAlignment="Center" x:Name="stitchOverTopControl" IsRotate="{Binding ElementName=self,Path=IsVaild}"> </local:StitchOverTopControl> </Grid> </Setter.Value> </Setter> </Trigger>
原因:
绑定源更新(IsVaild)时,控件stitchOverTopControl仍未显示,则会错过此次更新。
当控件显示后想要获取绑定源的最新值,则可在控件中增加Load事件,在MyControl_Loaded中获取最新的绑定源。
<Style TargetType="local:StitchOverTopControl"> <EventSetter Event="Loaded" Handler="StitchOverTopControl_Loaded"/> </Style>
private void StitchOverBottomControl_Loaded(object sender, RoutedEventArgs e) { var stitchOverBottomControl = sender as StitchOverBottomControl; stitchOverBottomControl.IsRotate = IsVaild;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!