0

MultiDataTrigger在多行中使用TextBox

<TextBox TextWrapping="Wrap" ScrollViewer.CanContentScroll="True"
                    FlowDirection="RightToLeft" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Auto"
                    Text="{Binding ArabicDescription}" IsReadOnly="True">
    <TextBox.Style>
        <Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
            <Style.Triggers>
                <MultiDataTrigger>
                    <MultiDataTrigger.Conditions>
                        <Condition Binding="{Binding Path=EnableNewEntry}" Value="True" />
                        <Condition Binding="{Binding Path=AllowArabic}" Value="True" />
                    </MultiDataTrigger.Conditions>
                    <Setter Property="IsReadOnly" Value="False" />
                    <Setter Property="Background" Value="Blue" />
                </MultiDataTrigger>
            </Style.Triggers>
        </Style>
    </TextBox.Style>
</TextBox>

EnableNewEntryAllowArabic变为真时,TextBox应该变为只读。为了测试,我也改变了背景颜色。问题是在适当变化的IsReadOnly地方没有变化。Background

我也尝试了以下设置器,但它也不起作用:

<Setter Property="TextBox.IsReadOnly" Value="False" />

我究竟做错了什么?

里特什

4

1 回答 1

1

您不应将 IsReadolny 显式设置为 True 使用您已经必须将其设置为 false 的 MultiDataTrigger 并在需要时将其设置为 true 但不要在 TextBox 属性中设置它

于 2013-01-11T17:01:56.027 回答