我目前正在编写一个带有 WPF UI 的程序,并且我有一个关闭或取消的按钮,具体取决于页面上是否有任何更改。为了实现这一点,我想在按钮上使用触发器(以样式包装),以便当依赖属性 HasChanges 为 true 时,按钮将从“关闭”变为“取消”。到目前为止,我的程序将“关闭”显示为按钮的文本,但是当我的依赖属性 HasChanges 变为 true 时没有任何反应。WPF 页面是用 VB.Net 而不是 XAML 编写的。
到目前为止,我有:
Private Sub SetUpMyButton()
Me.MyButton.Style = Me.GetMyButtonStyle()
End Sub
Private Function GetMyButtonStyle() As Style
Dim hasChangesTrigger as New Trigger
hasChangesTrigger.Property = CustomControl.HasChangesProperty
hasChangesTrigger.Value = True
hasChangesTrigger.Setters.Add(New Setter(Button.ContentProperty, "Cancel"))
Dim hasChangesStyle as New Style
hasChangesStyle.TargetType = GetType(Button)
hasChangesStyle.Setters.Add(New Setter(Button.ContentProperty, "Close"))
hasChangesStyle.Triggers.Add(hasChangesTrigger)
hasChangesStyle.Seal()
Return hasChangesStyle
End Function
任何帮助是极大的赞赏。