Wpf 当SelectedItem为空时,如何使用DataTemplate设置Combobox的文本属性?
以下代码一直有效,直到我尝试在SelectedInsurance为null时可视化“-请选择保险--”:Wpf 当SelectedItem为空时,如何使用DataTemplate设置Combobox的文本属性?,wpf,xaml,combobox,Wpf,Xaml,Combobox,以下代码一直有效,直到我尝试在SelectedInsurance为null时可视化“-请选择保险--”: <Style x:Key="PrimaryInsuranceStyle" TargetType="{x:Type ComboBox}"> <Setter Property="Height" Value="36" /> <Style.Triggers> <DataTrig
<Style x:Key="PrimaryInsuranceStyle" TargetType="{x:Type ComboBox}">
<Setter Property="Height" Value="36" />
<Style.Triggers>
<DataTrigger Binding="{Binding Path=PrimaryInsurance.SelectedInsurance}" Value="{x:Null}">
<Setter Property="Text" Value="-- Please Select Insurance --" />
</DataTrigger>
</Style.Triggers>
</Style>
<DataTemplate x:Key="InsuranceTemplate">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="20" />
<!--Company Name-->
<ColumnDefinition Width="220" />
<!--Effective Date From-->
<ColumnDefinition Width="56" />
<ColumnDefinition Width="16" />
<!--Effective Date To-->
<ColumnDefinition Width="56" />
<!--Empty space-->
<ColumnDefinition Width="14" />
<!--Insurance Type-->
<ColumnDefinition Width="100" />
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding XNotInEffect}" Grid.Column="0" />
<TextBlock Text="{Binding CompanyName}" Grid.Column="1"/>
<TextBlock Text="{Binding EffectiveDateFrom}" Grid.Column="2" TextAlignment="Center" />
<TextBlock Text="--" Grid.Column="3" TextAlignment="Center" />
<TextBlock Text="{Binding EffectiveDateTo}" Grid.Column="4" TextAlignment="Center" />
<TextBlock Text="{Binding PolicyType}" Grid.Column="6" />
</Grid>
</DataTemplate>
<ComboBox
Style="{StaticResource PrimaryInsuranceStyle}"
HorizontalAlignment="Left" Margin="590,51,0,0" VerticalAlignment="Top" Width="510"
IsEnabled="{Binding PrimaryInsurance.CanPickInsurance}"
ItemsSource="{Binding PrimaryInsurance.AllPatientInsurance}"
ItemTemplate="{StaticResource InsuranceTemplate}"
SelectedItem="{Binding PrimaryInsurance.SelectedInsurance}"
/>
当selectedItem具有DataTemplate且selectedItem为空时,如何设置Combobox的Text属性
注意:可视化文本为空
TIA你不能轻易做到这一点。设置
Text
不会在组合框上显示任何内容,除非IsEditable
设置为true
。我猜在您的例子中,IsEditable
应该是false(默认情况下)。通常情况下,当没有任何内容被下拉时,您在组合框中看到的几乎是SelectionBoxItem
。但是,当SelectedItem
为空时,我们无法访问SelectionBoxItem
,以通过一种黑客方式(使用带有一些触发器的ItemTemplate
)更改其模板。您应该通过复制一些示例模板来重新设置组合框的模板,改为对其进行修改。@听到这个消息真是太遗憾了……谢谢:(