如何在Ammy中实现以下XAML代码。
<Label>First Name:</Label>
<TextBox x:Name="txtFirstName" Width="100" MaxLength="10" Text="{Binding FirstName}" />
<Label >Last Name:</Label>
<TextBox Width="100">
<TextBox.Style>
<Style TargetType="TextBox">
<Setter Property="Text" Value="{Binding LastName}" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=chk, Path=IsChecked, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Value="True">
<Setter Property="Text" Value="{Binding ElementName=txtFirstName, Path=Text, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
<CheckBox x:Name="chk" Content="CopyFirstNameToLast" />
帮助将不胜感激。
答案 0 :(得分:1)
看起来应该是这样的:
Label { "First Name:" }
TextBox "txtFirstName" {
Width: 100
MaxLength: 10
Text: bind FirstName
}
Label { "Last Name:" }
TextBox {
Width: 90
Style: Style {
TargetType: TextBox
#Setter("Text", bind LastName)
Triggers: DataTrigger {
Binding: bind IsChecked from "chk" set [ Mode: TwoWay, UpdateSourceTrigger: PropertyChanged]
Value: "True"
Setter {
Property: "Text"
Value: bind Text from "txtFirstName" set [ Mode: TwoWay, UpdateSourceTrigger: PropertyChanged ]
}
}
}
}
CheckBox "chk" { "CopyFirstNameToLast" }
编辑:
顺便说说。如果您不想将现有绑定转换为Ammy,则可以使用XAML语法,即Binding: "{Binding ElementName=chk, Path=IsChecked, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"