TextBlock, текстовое значение текстового поля не показывает "-" char
В моем приложении wpf текстовое свойство textblock привязано к строковому свойству объекта. Значение свойства строки равно "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 ответ
Понятно, что конец текста в TextBlock
становится отрезанным или скрытым чем-то. Вы можете проверить это, добавив новый TextBlock
с тем же текстом в другом окне... вы увидите, что он работает сразу. Таким образом, единственный вопрос здесь - "что скрывает конец текста?"
Чтобы это выяснить, просто установите Background
свойство окружающих элементов на различные цвета, пока вы не увидите что-то с одним из этих цветов в конце TextBlock
, Затем вы узнаете, какой элемент скрывает конец текста.
Вы устанавливаете Width
из TextBlock
а также TextBox
, но вы не установили его на StackPanel
или же ScrollViewer
, Я думаю, что ваш StackPanel
вызывает проблему, потому что они не являются элементами управления, которые вы можете использовать, чтобы соответствовать размеру.