如何在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
提交
取消