我有一个C# wpf mvvm应用程序,一些数据来自db。我有一个组合框,我想要实现的是:当数据库中的数据不在组合框列表中时,在组合框中我想写:“找不到数据”。如果可能的话,我想从xaml中这样做。我试过:
<Trigger Property="SelectedItem" Value="{x:Null}"> <Setter Property="Text" Value="No Item Selected"/> </Trigger>
但它不起作用。
e4eetjau1#
我能想到的最简单的方法是覆盖一个文本块
<Grid HorizontalAlignment="Center" VerticalAlignment="Center" MinWidth="100"> <ComboBox x:Name="myComboBox" ItemsSource={Binding ...}"/> </ComboBox> <TextBlock Text="No data found" IsHitTestVisible="False" Margin="3"> <TextBlock.Style> <Style TargetType="TextBlock"> <Setter Property="Visibility" Value="Collapsed"/> <Style.Triggers> <DataTrigger Binding="{Binding SelectedItem, ElementName=myComboBox}" Value="{x:Null}"> <Setter Property="Visibility" Value="Visible"/> </DataTrigger> </Style.Triggers> </Style> </TextBlock.Style> </TextBlock> </Grid>
telerik或devexpress等控件库通常包含具有此特性的控件。
1条答案
按热度按时间e4eetjau1#
我能想到的最简单的方法是覆盖一个文本块
telerik或devexpress等控件库通常包含具有此特性的控件。