我的 WPF 窗口中的流向设置为 RightToLeft,如下所示:
<TextBlock FlowDirection="RightToLeft" x:Name="test">
如果我这样做,我会在代码中test.Text = "(2/3)";
看到
(2/3)
但如果我这样做,test.Text = "asdf (2/3)";
我会看到
(自卫队(2/3
这里发生了什么?为什么以字符串开头的文本会改变括号的位置?
我的 WPF 窗口中的流向设置为 RightToLeft,如下所示:
<TextBlock FlowDirection="RightToLeft" x:Name="test">
如果我这样做,我会在代码中test.Text = "(2/3)";
看到
(2/3)
但如果我这样做,test.Text = "asdf (2/3)";
我会看到
(自卫队(2/3
这里发生了什么?为什么以字符串开头的文本会改变括号的位置?
我不确定,但另一个更复杂的解决方法是:
2010 年 2 月 12 日星期五下午 5:10 Ben Ronco - MSFT
不幸的是,这是我们最近发现的一个错误。您可以通过在内容末尾放置一些“不可见”的非标点文本来解决此问题,如下所示:
{example modified}
<TextBlock FlowDirection="RightToLeft" x:Name="test">
<Run>Label1 (cms)</Run>
<Run FontSize=".01">i</Run>
</TextBlock>
资料来源: http ://social.msdn.microsoft.com/Forums/en-US/wpf/thread/3a723659-2bac-4d0c-80d8-09ba38e6cec1
当您在内容末尾有标点文字时,请尝试使用:
HorizontalContentAlignment="Right"
代替:
FlowDirection="RightToLeft"
来自:Vladvaly
2010 年 10 月 20 日上午 6:39
来源:http ://social.msdn.microsoft.com/Forums/en-US/wpf/thread/3a723659-2bac-4d0c-80d8-09ba38e6cec1
我遇到了与 StackPanel 和 Buttons 相关的同样问题。
上一个(不工作方式): NotWorkingScreenshot
以前的代码:
<StackPanel Margin="2"
FlowDirection="RightToLeft"
Orientation="Horizontal">
<Button x:Name="buttonSaveFlipchart"
Width="100"
Margin="2"
Click="buttonSaveFlipchart_Click"
Content="{Binding Path=ButtonContentSave}"
IsEnabled="{Binding ButtonEnabledSaveFlipchart}" />
<Button x:Name="buttonEditFlipchart"
Margin="2"
Click="buttonEditFlipchart_Click"
Content="Muokkaa"
IsEnabled="{Binding ButtonEnabledEditFlipchart}" />
新增(工作方式): WorkingScreenshot
新代码:
<StackPanel Margin="2"
HorizontalAlignment="Right"
Orientation="Horizontal">
<Button x:Name="buttonEditFlipchart"
Margin="2"
Click="buttonEditFlipchart_Click"
Content="Muokkaa"
IsEnabled="{Binding ButtonEnabledEditFlipchart}" />
<Button x:Name="buttonSaveFlipchart"
Width="100"
Margin="2"
Click="buttonSaveFlipchart_Click"
Content="{Binding Path=ButtonContentSave}"
IsEnabled="{Binding ButtonEnabledSaveFlipchart}" />
所以重要的是属性 FlowDirection 到 HorizontalAlignment 的变化。