Wpf 应用样式后,绑定不再起作用

Wpf 应用样式后,绑定不再起作用,wpf,Wpf,我有下面的文本框,在添加样式之前,绑定工作正常: <TextBox Text="{Binding SelectedGroupPolicyTermSummary.ImportantInfo, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Stretch" AcceptsReturn="True" IsReadOnly="{Binding IsEditab

我有下面的文本框,在添加样式之前,绑定工作正常:

<TextBox Text="{Binding SelectedGroupPolicyTermSummary.ImportantInfo, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
         HorizontalAlignment="Stretch"  AcceptsReturn="True" 
         IsReadOnly="{Binding IsEditable, Converter={StaticResource InvertedBoolConverter}}"
         Foreground="Red" TextWrapping="Wrap">
    <TextBox.Style>
        <Style TargetType="{x:Type TextBox}">
            <Style.Triggers>
                <Trigger Property="TextBox.IsReadOnly" Value="True">
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate TargetType="{x:Type TextBox}">
                                <TextBox Text="{TemplateBinding Text}" 
                                         VerticalAlignment="Bottom" 
                                         HorizontalAlignment="{TemplateBinding HorizontalAlignment}"                     
                                         Style="{DynamicResource SelectableTextStyle}" 
                                         TextWrapping="{TemplateBinding TextWrapping}" 
                                         Foreground="{TemplateBinding Foreground}"
                                         Width="{TemplateBinding Width}"/>
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                    <Setter Property="Width" Value="Auto"/>
                </Trigger>
                <Trigger Property="TextBox.IsReadOnly" Value="False">
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate TargetType="{x:Type TextBox}" >
                                <TextBox Text="{TemplateBinding Text}" 
                                         VerticalAlignment="Bottom" 
                                         HorizontalAlignment="{TemplateBinding HorizontalAlignment}"                     
                                         Style="{DynamicResource TextBoxStyle}" 
                                         TextWrapping="{TemplateBinding TextWrapping}" 
                                         Foreground="{TemplateBinding Foreground}"
                                         Width="{TemplateBinding Width}" 
                                         AcceptsReturn="{TemplateBinding AcceptsReturn}">
                                </TextBox>
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                </Trigger>
            </Style.Triggers>
        </Style>
    </TextBox.Style>
</TextBox>


应用样式后,文本框将填充,但任何更改都不会发送回代码。知道为什么吗?

您是否尝试过将控件模板上的绑定设置为双向

Binding NameOfProperty, Mode=TwoWay

TemplateBinding标记扩展基本上提供以下绑定:

{Binding RelativeSource={RelativeSource TemplatedParent}, Mode=OneWay}
对于像背景色之类的东西,这很好。但是,当您想要像文本这样的内容一直装订到最后时,您应该使用长手并更改模式:

Text="{Binding Text, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}"