我有一个描述文本框,我想在窗口标题中添加一些常量文本,例如“Description: ”+Description。
我最初的方法是创建一个新属性,该属性使用常量字符串返回Description的值。问题是我没有获得PropertyChanged事件,因此窗口标题不会刷新。我正在考虑在Description的setter上创建一个事件,但我认为这太丑陋了。
你能帮我解决吗?
我有一个描述文本框,我想在窗口标题中添加一些常量文本,例如“Description: ”+Description。
我最初的方法是创建一个新属性,该属性使用常量字符串返回Description的值。问题是我没有获得PropertyChanged事件,因此窗口标题不会刷新。我正在考虑在Description的setter上创建一个事件,但我认为这太丑陋了。
你能帮我解决吗?
使用Binding时,请查看StringFormat。
Title="{Binding Path=Description, StringFormat=Description: {0}}"
如果你有一个文本框并且想要使用它的文本内容,它的使用方式与其他控件相同。给文本框取个名字,然后在使用时通过ElementName属性引用。
Title="{Binding ElementName=myText, Path=Text, StringFormat=Description: {0}}"
您可以使用DataBinding轻松实现此操作
在ViewModel/DataContext中创建一个Description字段,并使用StringFormat
Title = "{Binding Path=Description,Mode=OneWay, StringFormat = Description: {0}}"
在描述的setter上创建事件是标准做法。使用INotifyPropertyChanged
接口的PropertyChanged
事件。