У меня есть следующая разметка:
<StackPanel Grid.Row="0" Orientation="Horizontal">
<StackPanel Orientation="Horizontal" Visibility="{Binding OrgListVisibility}">
<Label Content="Org:" />
<ComboBox ItemsSource="{Binding OrgSelectList, NotifyOnSourceUpdated=True}" SelectedValuePath="Key" DisplayMemberPath="Value" SelectedItem="{Binding OrgId}" />
</StackPanel>
<StackPanel Orientation="Horizontal" Visibility="{Binding BranchListVisibility}">
<TextBlock Text="Branch:" Style="{StaticResource FormLabel}" />
<ComboBox x:Name="BranchList" ItemsSource="{Binding BranchSelectList}" SelectedValuePath="Key" DisplayMemberPath="Value" SelectedItem="{Binding BranchId}" />
</StackPanel>
</StackPanel>
Тем не менее, когда я запускаю приложение, отображается только текст из TextBlock
, а не текст Label
. Последнее находится в Визуальном дереве с глубиной TextBlock
, но это насколько я вижу.
ЗАПРОС: Вот стиль для FormLabel
:
<Style TargetType="TextBlock" x:Key="FormLabel">
<Setter Property="Height" Value="20" />
<Setter Property="Margin" Value="10" />
<Setter Property="TextAlignment" Value="Right" />
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
СХОДНАЯ ПРОБЛЕМА: Я нашел почти аналогичную проблему с combobox, когда привязал ее к коллекции экземпляров универсального класса. Текст элементов просто не показывался, но они присутствовали в списках. Выбор на одном, зная, что позиция моего искомого элемента правильно каскадирована во второе поле со списком, которое имеет видимые элементы, и я мог видеть, что был выбран правильный, но невидимый элемент.
Как только я сменил источник элемента на список не общих объектов, элементы в раскрывающемся списке были снова видны.