如何在DataTrigger中匹配“换行符”?

3

在我的XAML中,我正在尝试实现以下内容:

<DataTrigger Binding="{Binding Path=Word}" Value="\n">

但是这并不起作用,即使Word是\n。我怀疑在XAML中使用\n并不是表示换行的正确方式,那应该是什么呢?

3个回答

2
这能解决问题吗?
<DataTrigger Binding="{Binding Path=Word}" Value="&#10;">

2
以下方法可行,您可以尝试一下:
xmlns:sys="clr-namespace:System;assembly=mscorlib"

<TextBox AcceptsReturn="True">
    <TextBox.Style>
        <Style TargetType="TextBox">
            <Style.Triggers>
                <Trigger Property="Text" Value="{x:Static sys:Environment.NewLine}">
                    <Setter Property="Background" Value="Green"/>
                </Trigger>
            </Style.Triggers>
        </Style>
    </TextBox.Style>
</TextBox>

如果我匹配的是 \n,而 Environment.Newline 是 \r\n,会发生什么? - tofutim
好的,谁创建了你的 word?如果是内部的话,你应该始终使用 Environment.NewLine - H.B.
如果你想要更灵活地匹配有效的换行字符串,你可以使用 ValueConverter - H.B.
用户创建“word”时可能会遇到\r\n或\n,但你是正确的,我可以找到一种方法强制它成为Environment.Newline。 - tofutim

2

经过一些测试,我发现答案是&#010;


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接