2014-01-16 66 views
0

在我的wpf應用程序中,文本塊文本屬性綁定到對象的字符串屬性。 字符串屬性值是「ABC-XYZ2014-HHH」。文本塊,文本框文本值不顯示「 - 」char

但是textblock或textbox都不能正確顯示值。 值在textblock和文本框中顯示爲「ABC-XYZ2014-」

我發現Label將「_」或「 - 」解釋爲加速鍵,但我使用的是textblock和textbox。但是第二個「 - 」後面的值沒有顯示在文本塊和文本框中。 我可以在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> 

感謝 厄尼爾

+0

它似乎有字符串長度不是' - '字符的問題。 –

+1

剛開始的時候很簡單,你確定你的TextBox/TextBlock足夠寬了,而且這個值不僅僅被切斷了嗎? –

+0

@Wonko我相信寬度就夠了。爲了測試,我將寬度設置爲與屏幕寬度相同。 – user1202147

回答

2

顯然,在TextBlock文的末尾被截斷或隱藏的東西。您可以通過將具有相同文本的新TextBlock添加到另一個窗口來驗證此情況......您會發現它可以直接使用。所以這裏唯一的問題是'什麼隱藏文本的結尾?'

爲了找到答案,只需將周圍元素的Background屬性設置爲各種顏色,直到在TextBlock的末尾看到某種顏色的某種顏色。然後你會知道哪個元素隱藏了文本的末尾。

您設置TextBlockTextBoxWidth,但你沒有設置在StackPanelScrollViewer。我的猜測是,你的StackPanel是造成這個問題,因爲他們是而不是控件,你可以用來適應尺寸。

+0

我按照您的建議設置了不同的背景。但我看不到任何重疊的元素。我試圖插入圖像,但它說我至少需要10個聲望:)所以我添加到圖像鏈接:) http://i.imgur.com/Y8oRd54.png – user1202147

+0

Okey我發現這個問題。該值在視圖模型中更改。所以它顯示了正確的價值。我很抱歉傢伙。 – user1202147