一開始沒寫UpdateSourceTrigger=LostFocus,雙向綁定一直失敗。UpdateSourceTrigger屬性取UpdateSourceTrigger枚舉的值之一。默認值爲Default,該值返回目標依賴屬性的默認UpdateSourceTrigger值。但是,對於大多數依賴屬性來說,默認值爲PropertyChanged,而Text屬性應取LostFocus。
xaml代碼
<DataGridTemplateColumn Header="操作" Width="240*" MinWidth="240" CellStyle="{StaticResource cellCenterStyle}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox x:Name="txtResult" Text="{Binding Path=InspectValue, Mode=TwoWay,UpdateSourceTrigger=LostFocus}" Style="{StaticResource InputTextBox}" MaxLength="255">
</TextBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<TextBox x:Name="txtResult" Text="{Binding Path=InspectValue, Mode=TwoWay,UpdateSourceTrigger=LostFocus}" Style="{StaticResource InputTextBox}" MaxLength="255">
</TextBox>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
model代碼:
// 結果值
private string _inspectValue;
/// <summary>
/// 輸入的結果
/// </summary>
public string InspectValue
{
get => _inspectValue;
set
{
_inspectValue = value;
// 雙向綁定
RaisePropertyChanged("InspectValue");
}
}