为了账号安全,请及时绑定邮箱和手机立即绑定

如何在WPF的pageload中的组合框中显示默认文本“--Select Team - ”?

如何在WPF的pageload中的组合框中显示默认文本“--Select Team - ”?

如何在WPF的pageload中的组合框中显示默认文本“--Select Team - ”?在WPF应用程序中,在MVP应用程序中,我有一个组合框,我显示从数据库获取的数据。在项目添加到组合框之前,我想显示默认文本,如“ - 选择团队 - ”因此,在页面加载时,它会显示并在选择它时应清除文本并显示项目。正在从DB中选择数据。我需要显示默认文本,直到用户从组合框中选择一个项目。请指导我
查看完整描述

3 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

我发现这样做最简单的方法是:

<ComboBox Name="MyComboBox"
 IsEditable="True"
 IsReadOnly="True"
 Text="-- Select Team --" />

您显然需要添加其他选项,但这可能是最简单的方法。

但是这种方法有一个缺点,即组合框内的文本不可编辑,但仍然可以选择。然而,鉴于迄今为止我发现的每种替代方案的质量和复杂性都很差,这可能是最好的选择。


查看完整回答
反对 回复 2019-07-26
?
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>


查看完整回答
反对 回复 2019-07-26
  • 3 回答
  • 0 关注
  • 608 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信