我有以下标记:
<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>
类似的问题: 当我将组合框绑定(bind)到泛型类的实例集合时,我发现了一个几乎类似的问题。这些项目的文本根本没有显示,但它们出现在组合框中。通过知道我所寻找的项目的位置正确地级联到第二个组合框(具有可见项目)来选择其中一个,我可以看到正确但不可见的项目已被选择。
一旦我将项目源更改为非通用对象列表,下拉列表中的项目就再次可见。
最佳答案
代码看起来不错,正如您在评论部分提到的,它占用布局空间,那么标签的颜色和包含布局的背景颜色很可能是相同的。
要解决此问题,请尝试提供一些不同的背景和前景色,例如红色或蓝色的标签。希望这有帮助
关于wpf - 为什么在我的 WPF View 中标签控件的内容文本不可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41929445/