0

我有很多文本框以双向模式绑定到不同的属性,UpdateSourceTrigger=PropertyChanged 我有一个烦人的问题:当我输入或删除一个值时 - 插入符号移动到字符串的开头。我在这里找到了一个解决方案: TextBox with CurrencyFormat and PropertyChanged trigger doesn't accept text right

但我无法正确实施。我可能想念一些东西。

这是我对其中一个文本框的 XAML 绑定:

enter code here <TextBox x:Name="TextBoxFirstPersonCameraMinPosY" Width="150" VerticalAlignment="Center" FontWeight="Normal"
                                 Text="{Binding Path=CameraLimitationParameters.FirstPersonCameraPosition.MinValue.Y, Mode=TwoWay, IsAsync=True, Delay=0, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource ToStringConverter}}" Style="{StaticResource {x:Type TextBox}}"
                                         MaxLength="40" Margin="10,0,0,0" MinWidth="150" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled" MaxWidth="150"></TextBox>

这是我的风格:

enter code here<Page.Resources >
    <ObjectDataProvider x:Key="CameraMode"
        MethodName="GetValues" ObjectType="{x:Type sys:Enum}" >
        <ObjectDataProvider.MethodParameters>
            <x:Type TypeName="settingsManager:CameraBehavior"/>
        </ObjectDataProvider.MethodParameters>
    </ObjectDataProvider>
    <settingsManager:ToStringConverter x:Key="ToStringConverter"></settingsManager:ToStringConverter>
    <Style TargetType="{x:Type TextBox}">
        <Style.Triggers>
            <Trigger Property="IsKeyboardFocusWithin"  Value="True">
                <Setter Property="Text" Value="{Binding UpdateSourceTrigger=PropertyChanged}"></Setter>
            </Trigger>
        </Style.Triggers>
    </Style>
</Page.Resources>

我错过了如何在不复制代码的情况下独立于绑定属性将这种样式应用于所有文本框?这种解决方法是否适用于我的情况?请帮帮我。

4

1 回答 1

1

问题是因为我在 TextBox 中设置了 IsAsync=True。在这种情况下,需要将 Async 设置为 false。

于 2013-04-17T17:55:23.057 回答