如何在WPF的pageload中的组合框中显示默认文本“--Select Team - ”?在WPF应用程序中,在MVP应用程序中,我有一个组合框,我显示从数据库获取的数据。在项目添加到组合框之前,我想显示默认文本,如“ - 选择团队 - ”因此,在页面加载时,它会显示并在选择它时应清除文本并显示项目。正在从DB中选择数据。我需要显示默认文本,直到用户从组合框中选择一个项目。请指导我
3 回答
隔江千里
TA贡献1906条经验 获得超10个赞
我发现这样做最简单的方法是:
<ComboBox Name="MyComboBox" IsEditable="True" IsReadOnly="True" Text="-- Select Team --" />
您显然需要添加其他选项,但这可能是最简单的方法。
但是这种方法有一个缺点,即组合框内的文本不可编辑,但仍然可以选择。然而,鉴于迄今为止我发现的每种替代方案的质量和复杂性都很差,这可能是最好的选择。
RISEBY
TA贡献1856条经验 获得超5个赞
我喜欢Tri Q的答案,但这些价值转换器很难用。PaulB用事件处理程序做到了,但这也是不必要的。这是一个纯XAML解决方案:
<ContentControl Content="{Binding YourChoices}">
<ContentControl.ContentTemplate>
<DataTemplate>
<Grid>
<ComboBox x:Name="cb" ItemsSource="{Binding}"/>
<TextBlock x:Name="tb" Text="Select Something" IsHitTestVisible="False" Visibility="Hidden"/>
</Grid>
<DataTemplate.Triggers>
<Trigger SourceName="cb" Property="SelectedItem" Value="{x:Null}">
<Setter TargetName="tb" Property="Visibility" Value="Visible"/>
</Trigger>
</DataTemplate.Triggers>
</DataTemplate>
</ContentControl.ContentTemplate> </ContentControl>添加回答
举报
0/150
提交
取消
