Textblock,文本框文本值不显示“ - ”字符

时间:2014-01-16 13:48:40

标签: wpf textbox key textblock accelerator

在我的wpf应用程序中,textblock text属性绑定到对象的字符串属性。 字符串属性值为“ABC-XYZ2014-HHH”。

但是文本块或文本框都没有正确显示值。 值在文本块和文本框中显示为“ABC-XYZ2014 - ”

我发现Label将“_”或“ - ”解释为加速键,但我使用的是文本块和文本框。但是第二个“ - ”之后的值没有显示在文本块和文本框中。 我可以在MessageBox中看到正确的值。

<UserControl x:Class="KaliteKontrol.PresentationLayer.Denetim"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         xmlns:igEditors="http://infragistics.com/Editors"
         xmlns:ig="http://schemas.infragistics.com/xaml"
         xmlns:GridControlLib="clr-namespace:CommonLib.Utils;assembly=CommonLib"
         xmlns:commonLibUtils="clr-namespace:CommonLib.Utils;assembly=CommonLib"
         xmlns:igDP="http://infragistics.com/DataPresenter"
         xmlns:sys="clr-namespace:System;assembly=mscorlib"
         xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
         mc:Ignorable="d" 
         d:DesignHeight="300" d:DesignWidth="300">
<UserControl.Resources>
    <BooleanToVisibilityConverter x:Key="BoolVisibilityConverter" />
    <Style TargetType="ContentPresenter">
        <Setter Property="RecognizesAccessKey" Value="False" />
    </Style>
</UserControl.Resources>
<ScrollViewer VerticalScrollBarVisibility="Visible">
    <StackPanel  x:Name="mainPanel" Style="{StaticResource ResourceKey=MainWindowsStyle}" >
        <Button>
            <TextBlock Text="{Binding Path=Denetim.DRef}" />
        </Button>
        <Button IsCancel="True"  >

                    <AccessText Margin="10,0,10,0" Text="{Binding Path=Denetim.DRef}"/>
        </Button>
        <TextBox Text="{Binding Path=Denetim.DRef}" Width="500"    />
        <TextBlock Text="{Binding Path=Denetim.DRef}" Width="800"    />
        <Label Content="{Binding Path=Denetim.DRef}"   />
  </StackPanel>
</ScrollViewer>
</UserControl>

由于 厄尼尔

1 个答案:

答案 0 :(得分:2)

显然,TextBlock中文本的结尾会被某些内容切断或隐藏。您可以通过将具有相同文本的新TextBlock添加到其他窗口来验证这一点...您会发现它可以立即生效。所以这里唯一的问题是' 隐藏了文本的结尾?'

要找到它,只需将周围元素的Background属性设置为各种颜色,直到您在TextBlock的末尾看到其中一种颜色的内容。然后,您将知道哪个元素隐藏了文本的结尾。

您设置WidthTextBlock的{​​{1}},但没有TextBox或{{1>上设置它}}。我的猜测是你的StackPanel导致问题,因为它们是不是控件,你可以使用它们来适应大小。