1 回答
TA贡献1802条经验 获得超4个赞
Binding 必须是 TwoWay,或者显式设置
<local:UserControl1 HmiField="{Binding Prop1, Mode=TwoWay}"/>
或默认情况下隐式:
public static readonly DependencyProperty HmiFieldProperty =
DependencyProperty.Register(
nameof(HmiField), typeof(double), typeof(UserControl1),
new FrameworkPropertyMetadata(
0d, FrameworkPropertyMetadataOptions.BindsTwoWayByDefault));
TextBox 的Text属性注册如上所示,即带有BindsTwoWayByDefault标志。
在TextBoxUserControl 的 XAML 中的Binding 中,您可能还想在用户键入时更新源属性(而不是仅在失去焦点时):
<TextBox Text="{Binding HmiField,
ElementName=usercontrol,
UpdateSourceTrigger=PropertyChanged}"/>
或者没有其他无用的生成usercontrol字段:
<TextBox Text="{Binding HmiField,
RelativeSource={RelativeSource AncestorType=UserControl}
UpdateSourceTrigger=PropertyChanged}"/>
- 1 回答
- 0 关注
- 172 浏览
添加回答
举报